From 9427dfbe861b203ec9fe309a1d590644668f2630 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 5 May 2019 18:06:25 +0000 Subject: bib2gls (10apr19) git-svn-id: svn://tug.org/texlive/trunk@51008 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/support/bib2gls/CHANGES | 60 +- Master/texmf-dist/doc/support/bib2gls/README.md | 10 +- .../doc/support/bib2gls/bib2gls-begin.pdf | Bin 697089 -> 719773 bytes Master/texmf-dist/doc/support/bib2gls/bib2gls.1 | 16 +- Master/texmf-dist/doc/support/bib2gls/bib2gls.pdf | Bin 3999653 -> 4449928 bytes .../doc/support/bib2gls/convertgls2bib.1 | 22 +- .../doc/support/bib2gls/examples/miscsymbols.bib | 2 +- .../support/bib2gls/examples/sample-authors.pdf | Bin 49003 -> 49017 bytes .../support/bib2gls/examples/sample-bacteria.pdf | Bin 50456 -> 50468 bytes .../support/bib2gls/examples/sample-chemical.pdf | Bin 50245 -> 50256 bytes .../support/bib2gls/examples/sample-citations.pdf | Bin 47326 -> 47338 bytes .../support/bib2gls/examples/sample-constants.pdf | Bin 89404 -> 89416 bytes .../bib2gls/examples/sample-markuplanguages.pdf | Bin 56324 -> 56334 bytes .../doc/support/bib2gls/examples/sample-maths.pdf | Bin 110945 -> 110958 bytes .../doc/support/bib2gls/examples/sample-media.pdf | Bin 160799 -> 160811 bytes .../support/bib2gls/examples/sample-msymbols.pdf | Bin 103806 -> 103819 bytes .../doc/support/bib2gls/examples/sample-multi1.pdf | Bin 243179 -> 243192 bytes .../doc/support/bib2gls/examples/sample-multi2.pdf | Bin 317966 -> 317978 bytes .../doc/support/bib2gls/examples/sample-people.pdf | Bin 47749 -> 47760 bytes .../bib2gls/examples/sample-textsymbols.pdf | Bin 69791 -> 69804 bytes .../bib2gls/examples/sample-textsymbols.tex | 5 +- .../bib2gls/examples/sample-textsymbols2.pdf | Bin 0 -> 67012 bytes .../bib2gls/examples/sample-textsymbols2.tex | 41 + .../doc/support/bib2gls/examples/sample-units1.pdf | Bin 53003 -> 53015 bytes .../doc/support/bib2gls/examples/sample-units2.pdf | Bin 54745 -> 54758 bytes .../doc/support/bib2gls/examples/sample-units3.pdf | Bin 41121 -> 41133 bytes .../support/bib2gls/examples/sample-usergroups.pdf | Bin 23878 -> 23882 bytes .../doc/support/bib2gls/examples/topics.bib | 9 + Master/texmf-dist/scripts/bib2gls/bib2gls.jar | Bin 243566 -> 263324 bytes .../texmf-dist/scripts/bib2gls/convertgls2bib.jar | Bin 26335 -> 26396 bytes .../texmf-dist/scripts/bib2gls/convertgls2bib.sh | 19 +- .../scripts/bib2gls/resources/bib2gls-en.xml | 44 + Master/texmf-dist/scripts/bib2gls/texparserlib.jar | Bin 951449 -> 966352 bytes .../source/support/bib2gls/src/bib2gls-begin.tex | 136 +- .../source/support/bib2gls/src/bib2gls-cite.bib | 4 +- .../source/support/bib2gls/src/bib2gls-src.zip | Bin 172439 -> 189365 bytes .../source/support/bib2gls/src/bib2gls.bib | 9607 +++++++++++++++----- .../source/support/bib2gls/src/bib2gls.pod | 18 + .../source/support/bib2gls/src/bib2gls.tex | 2469 ++++- .../source/support/bib2gls/src/gls2bib-src.zip | Bin 22053 -> 22983 bytes .../source/support/bib2gls/src/texparser-src.zip | Bin 805762 -> 819992 bytes 41 files changed, 9678 insertions(+), 2784 deletions(-) create mode 100644 Master/texmf-dist/doc/support/bib2gls/examples/sample-textsymbols2.pdf create mode 100644 Master/texmf-dist/doc/support/bib2gls/examples/sample-textsymbols2.tex create mode 100644 Master/texmf-dist/doc/support/bib2gls/examples/topics.bib (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/support/bib2gls/CHANGES b/Master/texmf-dist/doc/support/bib2gls/CHANGES index d90c4cd5e75..8d0335622cf 100644 --- a/Master/texmf-dist/doc/support/bib2gls/CHANGES +++ b/Master/texmf-dist/doc/support/bib2gls/CHANGES @@ -1,14 +1,60 @@ +v1.9 (2019-04-09): + + * manual: + + - added section "Logical Divisions: type vs group vs parent" + + * new resource option: + + compact-ranges + progenitor-type + adopted-parent-field + unknown-entry-alias + save-original-entrytype + field-case-change + no-case-change-cs + encapsulate-fields + encapsulate-fields* + interpret-fields + replicate-missing-field-action + entry-sort-fallback + + * new entry types: + + @progenitor + @spawnindex + @spawnindexplural + @spawnentry + @spawnsymbol + @spawnnumber + @spawnabbreviation + @spawnacronym + + * New command line options: + + --warn-non-bib-fields + --no-warn-non-bib-fields + --warn-unknown-entry-types + --no-warn-unknown-entry-types + + * The `type` option (and similar options that assign the `type` + field) now accepts the special setting "same as parent". + + * The `group` option no longer requires the --group switch. + + * The `match` and `not-match` options now accept `original entrytype`. + v1.8 (2018-11-30): * new resource options: - --save-primary-locations - --primary-location-formats - --long-case-change - --dual-long-case-change - --word-boundaries - --sort-label-list - --dependency-fields + save-primary-locations + primary-location-formats + long-case-change + dual-long-case-change + word-boundaries + sort-label-list + dependency-fields * added support for the new glossaries-extra package option record=nameref (introduced to glossaries-extra v1.37). diff --git a/Master/texmf-dist/doc/support/bib2gls/README.md b/Master/texmf-dist/doc/support/bib2gls/README.md index 8dc48d0ef11..ac1077f3081 100644 --- a/Master/texmf-dist/doc/support/bib2gls/README.md +++ b/Master/texmf-dist/doc/support/bib2gls/README.md @@ -9,12 +9,19 @@ Application Home Page: http://www.dickimaw-books.com/software/bib2gls # Licence -Copyright (C) 2017-2018 Nicola L. C. Talbot (www.dickimaw-books.com) +Copyright (C) 2017-2019 Nicola L. C. Talbot (www.dickimaw-books.com) 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. +# Requirements + + - Java Runtime Environment (at least Java 8). + + - TeX distribution that includes `glossaries-extra.sty` + and dependent packages (such as `glossaries.sty`). + # Summary This application may be used to extract glossary information @@ -130,6 +137,7 @@ your local or home TEXMF path (for example, `~/texmf/`): - *TEXMF*`/scripts/bib2gls/convertgls2bib.sh` (Unix-like systems only.) - *TEXMF*`/doc/support/bib2gls/bib2gls.pdf` (User manual.) + - *TEXMF*`/doc/support/bib2gls/bib2gls-begin.pdf` (Introductory Guide.) - *TEXMF*`/doc/support/bib2gls/examples/` (example files) Note that `texparserlib.jar` isn't an application. It's diff --git a/Master/texmf-dist/doc/support/bib2gls/bib2gls-begin.pdf b/Master/texmf-dist/doc/support/bib2gls/bib2gls-begin.pdf index 1b56f3d9b33..7e1e380497d 100644 Binary files a/Master/texmf-dist/doc/support/bib2gls/bib2gls-begin.pdf and b/Master/texmf-dist/doc/support/bib2gls/bib2gls-begin.pdf differ diff --git a/Master/texmf-dist/doc/support/bib2gls/bib2gls.1 b/Master/texmf-dist/doc/support/bib2gls/bib2gls.1 index 60060770700..b106bdcacf8 100644 --- a/Master/texmf-dist/doc/support/bib2gls/bib2gls.1 +++ b/Master/texmf-dist/doc/support/bib2gls/bib2gls.1 @@ -133,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "BIB2GLS 1" -.TH BIB2GLS 1 "2018-08-25" "perl v5.28.0" "bib2gls" +.TH BIB2GLS 1 "2019-03-31" "perl v5.28.1" "bib2gls" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -211,6 +211,20 @@ Treat \fB\ecitation\fR as an ignored record. .IP "\fB\-\-no\-cite\-as\-record\fR" 4 .IX Item "--no-cite-as-record" Don't check for instances of \fB\ecitation\fR in the \fB.aux\fR file (default). +.IP "\fB\-\-warn\-non\-bib\-fields\fR" 4 +.IX Item "--warn-non-bib-fields" +Warn if internal non-bib fields are found in the .bib file. +.IP "\fB\-\-no\-warn\-non\-bib\-fields\fR" 4 +.IX Item "--no-warn-non-bib-fields" +Don't warn if internal non-bib fields are found in the .bib file. +The use of these internal fields can cause unexpected results, so +only use this option if you have taken appropriate precautions. +.IP "\fB\-\-warn\-unknown\-entry\-types\fR" 4 +.IX Item "--warn-unknown-entry-types" +Warn if any unknown entry types are found in the .bib file. +.IP "\fB\-\-no\-warn\-unknown\-entry\-types\fR" 4 +.IX Item "--no-warn-unknown-entry-types" +Don't warn if any unknown entry types are found in the .bib file. .IP "\fB\-\-merge\-wrglossary\-records\fR" 4 .IX Item "--merge-wrglossary-records" Merge an entry's \fBwrglossary\fR records for the same page locations. diff --git a/Master/texmf-dist/doc/support/bib2gls/bib2gls.pdf b/Master/texmf-dist/doc/support/bib2gls/bib2gls.pdf index 43d21de48ce..25ac8ce15bd 100644 Binary files a/Master/texmf-dist/doc/support/bib2gls/bib2gls.pdf and b/Master/texmf-dist/doc/support/bib2gls/bib2gls.pdf differ diff --git a/Master/texmf-dist/doc/support/bib2gls/convertgls2bib.1 b/Master/texmf-dist/doc/support/bib2gls/convertgls2bib.1 index cc315d6401d..f7e3f097b74 100644 --- a/Master/texmf-dist/doc/support/bib2gls/convertgls2bib.1 +++ b/Master/texmf-dist/doc/support/bib2gls/convertgls2bib.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35) +.\" Automatically generated by Pod::Man 4.11 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== @@ -54,16 +54,20 @@ .\" Avoid warning from groff about undefined register 'F'. .de IX .. -.if !\nF .nr F 0 -.if \nF>0 \{\ -. de IX -. tm Index:\\$1\t\\n%\t"\\$2" +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{\ +. if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" .. -. if !\nF==2 \{\ -. nr % 0 -. nr F 2 +. if !\nF==2 \{\ +. nr % 0 +. nr F 2 +. \} . \} .\} +.rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. @@ -129,7 +133,7 @@ .\" ======================================================================== .\" .IX Title "CONVERTGLS2BIB 1" -.TH CONVERTGLS2BIB 1 "2018-03-04" "perl v5.26.1" "convertgls2bib" +.TH CONVERTGLS2BIB 1 "2018-03-04" "perl v5.28.1" "convertgls2bib" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l diff --git a/Master/texmf-dist/doc/support/bib2gls/examples/miscsymbols.bib b/Master/texmf-dist/doc/support/bib2gls/examples/miscsymbols.bib index 230eb999f3c..09410b7232c 100644 --- a/Master/texmf-dist/doc/support/bib2gls/examples/miscsymbols.bib +++ b/Master/texmf-dist/doc/support/bib2gls/examples/miscsymbols.bib @@ -1,5 +1,5 @@ % This file is public domain. See the "Examples" chapter -% in the bib2gls user manual for a more detailed icondescription +% in the bib2gls user manual for a more detailed description % of this file. % Encoding: UTF-8 diff --git a/Master/texmf-dist/doc/support/bib2gls/examples/sample-authors.pdf b/Master/texmf-dist/doc/support/bib2gls/examples/sample-authors.pdf index 7e637a9e649..391edd5c4c0 100644 Binary files a/Master/texmf-dist/doc/support/bib2gls/examples/sample-authors.pdf and b/Master/texmf-dist/doc/support/bib2gls/examples/sample-authors.pdf differ diff --git a/Master/texmf-dist/doc/support/bib2gls/examples/sample-bacteria.pdf b/Master/texmf-dist/doc/support/bib2gls/examples/sample-bacteria.pdf index 37088bf4823..b42fe0ce034 100644 Binary files a/Master/texmf-dist/doc/support/bib2gls/examples/sample-bacteria.pdf and b/Master/texmf-dist/doc/support/bib2gls/examples/sample-bacteria.pdf differ diff --git a/Master/texmf-dist/doc/support/bib2gls/examples/sample-chemical.pdf b/Master/texmf-dist/doc/support/bib2gls/examples/sample-chemical.pdf index ba5cafb6d1d..415f4aa092b 100644 Binary files a/Master/texmf-dist/doc/support/bib2gls/examples/sample-chemical.pdf and b/Master/texmf-dist/doc/support/bib2gls/examples/sample-chemical.pdf differ diff --git a/Master/texmf-dist/doc/support/bib2gls/examples/sample-citations.pdf b/Master/texmf-dist/doc/support/bib2gls/examples/sample-citations.pdf index 70bb61b0470..26d9b7bb3d0 100644 Binary files a/Master/texmf-dist/doc/support/bib2gls/examples/sample-citations.pdf and b/Master/texmf-dist/doc/support/bib2gls/examples/sample-citations.pdf differ diff --git a/Master/texmf-dist/doc/support/bib2gls/examples/sample-constants.pdf b/Master/texmf-dist/doc/support/bib2gls/examples/sample-constants.pdf index 616370e70e7..d650ceed9bb 100644 Binary files a/Master/texmf-dist/doc/support/bib2gls/examples/sample-constants.pdf and b/Master/texmf-dist/doc/support/bib2gls/examples/sample-constants.pdf differ diff --git a/Master/texmf-dist/doc/support/bib2gls/examples/sample-markuplanguages.pdf b/Master/texmf-dist/doc/support/bib2gls/examples/sample-markuplanguages.pdf index bf7cb76b55d..f06a07262a1 100644 Binary files a/Master/texmf-dist/doc/support/bib2gls/examples/sample-markuplanguages.pdf and b/Master/texmf-dist/doc/support/bib2gls/examples/sample-markuplanguages.pdf differ diff --git a/Master/texmf-dist/doc/support/bib2gls/examples/sample-maths.pdf b/Master/texmf-dist/doc/support/bib2gls/examples/sample-maths.pdf index 9f1849fe1ac..8a6db9d368e 100644 Binary files a/Master/texmf-dist/doc/support/bib2gls/examples/sample-maths.pdf and b/Master/texmf-dist/doc/support/bib2gls/examples/sample-maths.pdf differ diff --git a/Master/texmf-dist/doc/support/bib2gls/examples/sample-media.pdf b/Master/texmf-dist/doc/support/bib2gls/examples/sample-media.pdf index 2ecee98595b..57b1cd6c752 100644 Binary files a/Master/texmf-dist/doc/support/bib2gls/examples/sample-media.pdf and b/Master/texmf-dist/doc/support/bib2gls/examples/sample-media.pdf differ diff --git a/Master/texmf-dist/doc/support/bib2gls/examples/sample-msymbols.pdf b/Master/texmf-dist/doc/support/bib2gls/examples/sample-msymbols.pdf index 2a8cf08a99f..9ed3e0ce937 100644 Binary files a/Master/texmf-dist/doc/support/bib2gls/examples/sample-msymbols.pdf and b/Master/texmf-dist/doc/support/bib2gls/examples/sample-msymbols.pdf differ diff --git a/Master/texmf-dist/doc/support/bib2gls/examples/sample-multi1.pdf b/Master/texmf-dist/doc/support/bib2gls/examples/sample-multi1.pdf index bca3e987feb..0928aae45a6 100644 Binary files a/Master/texmf-dist/doc/support/bib2gls/examples/sample-multi1.pdf and b/Master/texmf-dist/doc/support/bib2gls/examples/sample-multi1.pdf differ diff --git a/Master/texmf-dist/doc/support/bib2gls/examples/sample-multi2.pdf b/Master/texmf-dist/doc/support/bib2gls/examples/sample-multi2.pdf index e61b207d5ec..a033fb98a12 100644 Binary files a/Master/texmf-dist/doc/support/bib2gls/examples/sample-multi2.pdf and b/Master/texmf-dist/doc/support/bib2gls/examples/sample-multi2.pdf differ diff --git a/Master/texmf-dist/doc/support/bib2gls/examples/sample-people.pdf b/Master/texmf-dist/doc/support/bib2gls/examples/sample-people.pdf index 1490ac1b029..0c3e8bdfd8f 100644 Binary files a/Master/texmf-dist/doc/support/bib2gls/examples/sample-people.pdf and b/Master/texmf-dist/doc/support/bib2gls/examples/sample-people.pdf differ diff --git a/Master/texmf-dist/doc/support/bib2gls/examples/sample-textsymbols.pdf b/Master/texmf-dist/doc/support/bib2gls/examples/sample-textsymbols.pdf index 239503ceb43..15b504fc052 100644 Binary files a/Master/texmf-dist/doc/support/bib2gls/examples/sample-textsymbols.pdf and b/Master/texmf-dist/doc/support/bib2gls/examples/sample-textsymbols.pdf differ diff --git a/Master/texmf-dist/doc/support/bib2gls/examples/sample-textsymbols.tex b/Master/texmf-dist/doc/support/bib2gls/examples/sample-textsymbols.tex index 95b07ce51e8..3855765b8b7 100644 --- a/Master/texmf-dist/doc/support/bib2gls/examples/sample-textsymbols.tex +++ b/Master/texmf-dist/doc/support/bib2gls/examples/sample-textsymbols.tex @@ -1,7 +1,8 @@ % This file is public domain. See the "Examples" chapter % in the bib2gls user manual for a more detailed description % of this file. - +% Compare this file with sample-textsymbols2.tex which uses +% a hierarchical approach. \documentclass[a4paper]{article} \usepackage[T1]{fontenc} @@ -18,7 +19,7 @@ \usepackage[record,% using bib2gls nostyles,% don't load default styles postdot,% append a dot after descriptions - stylemods={tree},% load glossary-mcols.sty and patch + stylemods={tree},% load glossary-tree.sty and patch style=alttreegroup]{glossaries-extra} \GlsXtrLoadResources[ diff --git a/Master/texmf-dist/doc/support/bib2gls/examples/sample-textsymbols2.pdf b/Master/texmf-dist/doc/support/bib2gls/examples/sample-textsymbols2.pdf new file mode 100644 index 00000000000..98022c2dac2 Binary files /dev/null and b/Master/texmf-dist/doc/support/bib2gls/examples/sample-textsymbols2.pdf differ diff --git a/Master/texmf-dist/doc/support/bib2gls/examples/sample-textsymbols2.tex b/Master/texmf-dist/doc/support/bib2gls/examples/sample-textsymbols2.tex new file mode 100644 index 00000000000..9a670f91f1a --- /dev/null +++ b/Master/texmf-dist/doc/support/bib2gls/examples/sample-textsymbols2.tex @@ -0,0 +1,41 @@ +% This file is public domain. See the "Examples" chapter +% in the bib2gls user manual for a more detailed description +% of this file. + +\documentclass[a4paper]{article} + +\usepackage[T1]{fontenc} + +\usepackage{etoolbox} +\usepackage{marvosym} + +% package conflict, need to undefine conflicting commands +\undef\Sun +\undef\Lightning + +\usepackage[weather]{ifsym} + +\usepackage[record,% using bib2gls + nostyles,% don't load default styles + postdot,% append a dot after descriptions + stylemods={tree,topic},% load glossary-tree.sty and glossary-topic.sty + style=topic]{glossaries-extra} + +\GlsXtrLoadResources[ + src={topics,miscsymbols}, +% make @icon behave like @symbol: + entry-type-aliases={icon=symbol}, + field-aliases={ + identifier=parent, + icon=name, + icondescription=description + }, + symbol-sort-fallback={description}, + set-widest, + selection=all +] + +\begin{document} +\printunsrtglossaries +\end{document} + diff --git a/Master/texmf-dist/doc/support/bib2gls/examples/sample-units1.pdf b/Master/texmf-dist/doc/support/bib2gls/examples/sample-units1.pdf index b3a5176fdba..3d08fa6a9da 100644 Binary files a/Master/texmf-dist/doc/support/bib2gls/examples/sample-units1.pdf and b/Master/texmf-dist/doc/support/bib2gls/examples/sample-units1.pdf differ diff --git a/Master/texmf-dist/doc/support/bib2gls/examples/sample-units2.pdf b/Master/texmf-dist/doc/support/bib2gls/examples/sample-units2.pdf index db752bfcd20..e80be3024cd 100644 Binary files a/Master/texmf-dist/doc/support/bib2gls/examples/sample-units2.pdf and b/Master/texmf-dist/doc/support/bib2gls/examples/sample-units2.pdf differ diff --git a/Master/texmf-dist/doc/support/bib2gls/examples/sample-units3.pdf b/Master/texmf-dist/doc/support/bib2gls/examples/sample-units3.pdf index 799ee650f30..c7d170c578c 100644 Binary files a/Master/texmf-dist/doc/support/bib2gls/examples/sample-units3.pdf and b/Master/texmf-dist/doc/support/bib2gls/examples/sample-units3.pdf differ diff --git a/Master/texmf-dist/doc/support/bib2gls/examples/sample-usergroups.pdf b/Master/texmf-dist/doc/support/bib2gls/examples/sample-usergroups.pdf index 2cefbd0b1ec..042f277b427 100644 Binary files a/Master/texmf-dist/doc/support/bib2gls/examples/sample-usergroups.pdf and b/Master/texmf-dist/doc/support/bib2gls/examples/sample-usergroups.pdf differ diff --git a/Master/texmf-dist/doc/support/bib2gls/examples/topics.bib b/Master/texmf-dist/doc/support/bib2gls/examples/topics.bib new file mode 100644 index 00000000000..f38577f6ca8 --- /dev/null +++ b/Master/texmf-dist/doc/support/bib2gls/examples/topics.bib @@ -0,0 +1,9 @@ +% This file is public domain. See the "Examples" chapter +% in the bib2gls user manual for a more detailed description +% of this file. + +% Encoding: UTF-8 + +@index{information} +@indexplural{mediacontrol,text={media control}} +@indexplural{weather,text={weather symbol}} diff --git a/Master/texmf-dist/scripts/bib2gls/bib2gls.jar b/Master/texmf-dist/scripts/bib2gls/bib2gls.jar index 2141ce3e14c..65f155ba5ba 100755 Binary files a/Master/texmf-dist/scripts/bib2gls/bib2gls.jar and b/Master/texmf-dist/scripts/bib2gls/bib2gls.jar differ diff --git a/Master/texmf-dist/scripts/bib2gls/convertgls2bib.jar b/Master/texmf-dist/scripts/bib2gls/convertgls2bib.jar index a5b5e1dfe19..4c2af98a482 100755 Binary files a/Master/texmf-dist/scripts/bib2gls/convertgls2bib.jar and b/Master/texmf-dist/scripts/bib2gls/convertgls2bib.jar differ diff --git a/Master/texmf-dist/scripts/bib2gls/convertgls2bib.sh b/Master/texmf-dist/scripts/bib2gls/convertgls2bib.sh index 3e7370b0ca7..f237f505d5c 100755 --- a/Master/texmf-dist/scripts/bib2gls/convertgls2bib.sh +++ b/Master/texmf-dist/scripts/bib2gls/convertgls2bib.sh @@ -1,12 +1,15 @@ #!/bin/sh +# Adapted from tlcockpit.sh to ensure the script works with cygwin -kernel=`uname -s` -if test "${kernel#*CYGWIN}" != "$kernel" -then - jarpath=`cygpath -w $(kpsewhich --progname=convertgls2bib --format=texmfscripts convertgls2bib.jar)` -else - jarpath=`kpsewhich --progname=convertgls2bib --format=texmfscripts convertgls2bib.jar` -fi +scriptname=`basename "$0" .sh` +jar="$scriptname.jar" +jarpath=`kpsewhich --progname="$scriptname" --format=texmfscripts "$jar"` -java -jar "$jarpath" "$@" +kernel=`uname -s 2>/dev/null` +if echo "$kernel" | grep CYGWIN >/dev/null; then + CYGWIN_ROOT=`cygpath -w /` + export CYGWIN_ROOT + jarpath=`cygpath -w "$jarpath"` +fi +exec java -jar "$jarpath" "$@" diff --git a/Master/texmf-dist/scripts/bib2gls/resources/bib2gls-en.xml b/Master/texmf-dist/scripts/bib2gls/resources/bib2gls-en.xml index 223c3e6b891..de36c1eac03 100644 --- a/Master/texmf-dist/scripts/bib2gls/resources/bib2gls-en.xml +++ b/Master/texmf-dist/scripts/bib2gls/resources/bib2gls-en.xml @@ -49,6 +49,14 @@ See the manual for further details. {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 @@ -207,6 +215,9 @@ See the manual for further details. Dual index-abbreviation mappings: Processed returned: {0} Truncating according to limit={0}. +Entry ''{0}'' has already been added, ignoring. +(Original entry: @{1}{2}. This entry: @{3}{4}) +Entry ''{0}'' has lost its ''{1}'' field. Transcript written to {0}. {0} written to {1}. @@ -280,6 +291,7 @@ Defaulting to: {0}. Support may be quite limited in some cases. Created missing parent ''{0}'' for entry ''{1}'' Found entry ''{0}'' in resource set: {1} +Spawning ''{0}'' (from ''{1}'') Page Pages @@ -305,8 +317,10 @@ Defaulting to: {0}. Can''t parse {0} {1} Ignoring unknown entry type: {0} +Private entry type ''{0}'' found. Did you mean ''{1}''? Ignoring unknown encoding: {0} Ignoring unknown field: {0} +Found internal non bib-field ''{0}'' in ''{1}.bib'' file for entry ''{2}''. Unexpected results may occur. Entry {0} is being defined in {1} but it has already been defined in a previous .glstex file. Can''t detect argument for: \{0} Can''t determine sort value for: {0} @@ -400,6 +414,7 @@ Have you indexed your entries using commands like \gls? {0} Invalid sort method ''{0}'' given in option: {1} Invalid ''{0}'' value: {1} +Invalid ''{0}'' value: {1} (number or boolean required) Invalid ''{0}'' value: {1} (number required) Invalid ''{0}'' value: {1} (can''t be less than {2,number}) Invalid ''{0}'' value: {1} (allowed values: {2}) @@ -454,11 +469,39 @@ Use {1} {0} to allow the interpreter to parse {0}.sty if the package isn''t too Use {1} {0} instead. Attempt to create missing parent ''{0}'' for entry ''{1}'' caused a problem: {2} +Interpreter needed for setting {0} +Missing <encoding> after {0} +Missing <value> after {0} +Unknown option: {0} +Use {1} for help. +Too many arguments. +Use {0} for help. +Missing <tex file>. +Syntax: {0} +Use {1} for help. +Missing <bib file> +Syntax: {0} +Use {1} for help. +{0} [<options>] <tex file> <bib file> + +Options: +{0} (or {1}) Display version information +{0} (or {1}) Display help +{0} <encoding> .tex file encoding +{0} <encoding> .bib file encoding +{0} Ignore sort field (default) +{0} Don''t ignore sort field +{0} <value> Substitute spaces in labels with <value> +{0} <lang tag> Use language resource file given by <lang tag> for messages. +{0} Suppress messages. +{0} Normal messages. +{0} Debug mode. + Overriding default definition of \newdualentry with custom definition. (Change \newcommand to \providecommand if you want \newdualentry[options]'{'label'}{'short'}{'long'}{'description'}' @@ -580,6 +623,7 @@ converted to @dualabbreviationentry.) Header ''{0}'' doesn''t exist. Row index ''{0}'' doesn''t exist. Database ''{0}'' loaded from ''{1}'' (column count={2}, row count={3}). +List index ''{0}'' out of range. diff --git a/Master/texmf-dist/scripts/bib2gls/texparserlib.jar b/Master/texmf-dist/scripts/bib2gls/texparserlib.jar index 89c1d8fbf70..c70d894ad0d 100755 Binary files a/Master/texmf-dist/scripts/bib2gls/texparserlib.jar and b/Master/texmf-dist/scripts/bib2gls/texparserlib.jar differ diff --git a/Master/texmf-dist/source/support/bib2gls/src/bib2gls-begin.tex b/Master/texmf-dist/source/support/bib2gls/src/bib2gls-begin.tex index df2ef53ae03..f30604e4bad 100644 --- a/Master/texmf-dist/source/support/bib2gls/src/bib2gls-begin.tex +++ b/Master/texmf-dist/source/support/bib2gls/src/bib2gls-begin.tex @@ -18,6 +18,7 @@ \usepackage{hologo} \usepackage{pifont} \usepackage{graphicx} +\usepackage{tcolorbox} \usepackage{datetime2} \usepackage{siunitx} \usepackage[version=4]{mhchem} @@ -78,10 +79,17 @@ \newcommand*{\csref}{\gls} +\newcommand{\texparserdefnote}{} + \GlsXtrLoadResources[ src={bib2gls}, max-loc-diff=3, - entry-type-aliases={dualindexentry=index}, + entry-type-aliases={ + exampleentry=entry, + examplesymbol=symbol, + exampleabbreviation=abbreviation + }, + unknown-entry-alias={index}, field-aliases={note=user2}, symbol-sort-fallback={name}, break-at={none}, @@ -208,21 +216,33 @@ \makeatletter \newcommand{\code}[1]{\texorpdfstring{{\ttfamily\obeyspaces #1}}{#1}} -\newenvironment{codeenv} - {% - \renewcommand{\glslinkpresetkeys}{\setkeys{glslink}{noindex}}% +\newcommand{\setupcodeenvfmts}{% \def\cmd{\char`\\}% - \def\comment##1{\textcolor{comment}{\%\ ##1}}% + \def\comment##1{\mbox{\textcolor{comment}{\idx{commentchar}\ ##1}}}% \renewcommand*{\styfmt}[1]{##1}% \renewcommand*{\counterfmt}[1]{##1}% \renewcommand*{\catattrfmt}[1]{\textcolor{attribute}{##1}}% \renewcommand*{\abbrstylefmt}[1]{\textcolor{style}{##1}}% \renewcommand*{\csfmtfont}[1]{\textcolor{cs}{##1}}% +} +\newenvironment{codeenv} + {% + \renewcommand{\glslinkpresetkeys}{\setkeys{glslink}{noindex}}% + \setupcodeenvfmts \begin{flushleft}\textcolor{lightgray}{\hrulefill}\par\nopagebreak \medskip\nopagebreak \ttfamily\obeylines\frenchspacing\@vobeyspaces} {\nopagebreak\textcolor{lightgray}{\hrulefill}% \end{flushleft}\ignorespacesafterend} + +\newenvironment{codeenv*} + {% + \setupcodeenvfmts + \begin{flushleft}\ttfamily\obeylines\frenchspacing\@vobeyspaces + \parindent\z@\parfillskip\@flushglue\parskip\z@skip + } + {\end{flushleft}\ignorespacesafterend} + \makeatother \newcommand{\primary}{\emph} @@ -255,7 +275,7 @@ } \newcommand*{\abbrstyle}[2][]{% - \texorpdfstring{\idx[#1]{#2}}{#2}% + \texorpdfstring{\idx[#1]{abbrstyle.#2}}{#2}% } \newcommand*{\glostyle}[1]{% @@ -263,7 +283,7 @@ } \newcommand*{\catattr}[1]{% - \texorpdfstring{\idx{#1}}{#1}% + \texorpdfstring{\idx{catattr.#1}}{#1}% } \newcommand*{\counter}[1]{% @@ -373,24 +393,7 @@ \ignorespacesafterend } -\newenvironment{important}{% - \setlength{\fboxrule}{4pt}% - \setlength\borderedboxwidth{\linewidth}% - \addtolength\borderedboxwidth{-2\fboxsep}% - \addtolength\borderedboxwidth{-2\fboxrule}% - \begin{lrbox}{\borderedboxcontents}% - \begin{minipage}{\borderedboxwidth}% - \raggedright - \setlength\parindent{1em}% - \noindent\ignorespaces -}% -{% - \end{minipage}% - \end{lrbox}% - \par\vskip10pt\noindent - \fcolorbox{red}{white}{\usebox{\borderedboxcontents}}\par\vskip10pt - \noindent\ignorespacesafterend -} +\newtcolorbox{important}{colback=red!5!white,colframe=red} \newcommand*{\sectionref}[1]{section~\ref{#1}} \newcommand*{\Sectionref}[1]{Section~\ref{#1}} @@ -457,6 +460,7 @@ the \isty{glossaries-extra} user manual, package~\cite{glossaries-extra}) and the \isty{glossaries} user manual (distributed with the \sty{glossaries} package~\cite{glossaries}). +See also the gallery~\cite{gallery} for examples. The \sty{glossaries} package is the \emph{base} package. The \sty{glossaries-extra} package internally loads the \sty{glossaries} package @@ -535,9 +539,20 @@ can be found in the \isty{glossaries} user manual. The are described in the \sty{glossaries-extra} manual. The \bibgls\ user manual summarises all keys (fields) in \sectionref{sec:fields}. +The term \qt{field} not only includes the keys that may be used with +\gls{newglossaryentry} but also internal labels (which may or may +not have a corresponding key) that are used to store information. +Note that there are some fields that may be used in the document +that are considered internal fields by \bibgls\ because the field +value is typically set as a by-product of the way that \bibgls\ +works. If these fields are set manually then you may get unexpected +results as this can break \bibgls's normal operation. + \begin{important} If the field value contains commas or equal signs the value must be grouped to hide those characters from the \meta{key}\dequals\meta{value} parser. +When using \bibgls, the field value must be delimited according to +the \ext{bib} file format. \end{important} The two main keys are \field{name} and \field{description}. The @@ -850,8 +865,8 @@ value of the \field{category} field using: \nosecformatdef{glsifcategory} This checks if the \field{category} field for the entry given by \meta{label} is set to \meta{category}, but doesn't perform any -expansion. It generates an error if the entry doesn't exist (or -warning with \styopt[warn]{undefaction}). +expansion of \meta{category}. It generates an error if the entry +doesn't exist (or warning with \styopt[warn]{undefaction}). The category allows you to apply certain types of formatting, such as the \idx{postlinkhook} (\sectionref{sec:postlinkhooks}). @@ -921,7 +936,7 @@ associated image or citation, then you can supply this with the six user keys: \field{user1}\glsaddeach{field.user2,field.user3,field.user4,field.user5}, \ldots, \field{user6}. The value of the -first field can be obtained with: +first field (\field{user1}) can be obtained with: \nosecformatdef{glsuseri} (which behaves like \gls{glssymbol}) or with: \nosecformatdef{glsentryuseri} @@ -929,7 +944,7 @@ first field can be obtained with: \glsaddeach{glsuserii,glsuseriii,glsuseriv,glsuserv,% glsentryuserii,glsentryuseriii,glsentryuseriv,glsentryuserv}% The other fields are similarly obtained using \idx{lowercase} Roman -numerals, so the sixth field can be obtained with: +numerals, so value of the sixth field (\field{user6}) can be obtained with: \nosecformatdef{glsuservi} (which behaves like \gls{glssymbol}) or with: \nosecformatdef{glsentryuservi} @@ -1443,7 +1458,7 @@ definition. For example, consider the following document: \end{codeenv} In this case, \csfmt{test} is expandable. Its definition doesn't contain anything complicated. The \ext{toc} file (which is input by -\csfmt{tableofcontents}) contains the line: +\csfmt{tableofcontents}\glsadd{toc}) contains the line: \begin{codeenv} \cmd{contentsline} \marg{section}\marg{\cmd{numberline} \marg{1}some sample text}\marg{1} \end{codeenv} @@ -1519,7 +1534,7 @@ expansion, which makes the command behave as though it was robust: \gls{section}\marg{\gls{Gls}\marg{duck}\gls{protect}\gls{footnote}\marg{\gls{glsentrydesc}\marg{duck}}} \end{codeenv} In this case, it's unlikely that you'd want the footnote to appear -in the table of contents, so it would be better to use the optional +in the \gls{toc}, so it would be better to use the optional argument: \begin{codeenv} \gls{section}\oarg{Duck}\marg{\gls{Gls}\marg{duck}\gls{footnote}\marg{\gls{glsentrydesc}\marg{duck}}}\correct @@ -1580,9 +1595,9 @@ with webbed feet}\marg{1} \begin{important} The examples in this section are used to illustrate the differences -between \idx{robust}, \idx{fragile} and \idx{expandable} commands. +between \idx{fragile}, \idx{robust} and \idx{expandable} commands. In general, it's better not to use commands like \gls{gls} in -headings or captions (see \sectionref{sec:headings}) and using +headings or captions (see \sectionref{sec:headings}). Using commands like \gls{gls} in field values can be problematic (see \sectionref{sec:nested}). \end{important} @@ -1635,7 +1650,7 @@ or the expansion must first be switched off: Since it's not possible to programmatically define entries with \bibgls, the expansion is automatically switched off as \bibgls\ writes \gls{glsnoexpandfields} to the \ext{glstex} file (although -you can switch this feature off with \longarg{expand-fields}). +you can disable this feature with \longarg{expand-fields}). The reason why \gls{footnote} didn't cause a problem in the \field{description} field \emph{when the entry was defined} is that, by @@ -1687,10 +1702,10 @@ where \meta{category} is the category label and \meta{style-name} is the name of the style. If the optional argument is omitted, \code{abbreviation} is assumed. The \sty{glossaries-extra} package automatically sets the default styles: -\begin{codeenv} +\begin{codeenv*} \gls{setabbreviationstyle}\marg{\abbrstyle{long-short}} \gls{setabbreviationstyle}\oarg{acronym}\marg{\abbrstyle{short-nolong}} -\end{codeenv} +\end{codeenv*} This means that if you don't explicitly set the style then any abbreviation defined with \gls{newacronym} will use the \abbrstyle{short-nolong} style (unless you change the category in @@ -1893,7 +1908,8 @@ This is essentially the same as \gls{newabbreviation}\marg{ssl}\marg{SSL}\marg{\gls{glsxtrword}\marg{Secure}\gls{glsxtrwordsep} \gls{glsxtrword}\marg{Sockets}\gls{glsxtrwordsep}\gls{glsxtrword}\marg{Layer}} \end{codeenv} -This is typically used with the \code{-hyphen} abbreviation styles. +This is typically used with the \code{-hyphen} abbreviation styles, +such as \abbrstyle{long-hyphen-short-hyphen}. If the final optional \meta{insert} argument of commands like \gls{gls} starts with a hyphen, \gls{glsxtrwordsep} is locally changed to a hyphen. @@ -1904,7 +1920,7 @@ For example: \strut \cmd{usepackage}\marg{glossaries-extra} \strut -\gls{setabbreviationstyle}\marg{\gls[noindex=false]{long-hyphen-short-hyphen}} +\gls{setabbreviationstyle}\marg{\abbrstyle[noindex=false]{long-hyphen-short-hyphen}} \strut \gls{glssetcategoryattribute}\marg{abbreviation}\marg{\catattr{markwords}}\marg{true} \strut @@ -2126,7 +2142,7 @@ For example: \gls{glssetcategoryattribute}\marg{initialism}\marg{\catattr{discardperiod}}\marg{true} \gls{glssetcategoryattribute}\marg{initialism}\marg{\catattr{retainfirstuseperiod}}\marg{true} \strut -\gls{setabbreviationstyle}\oarg{initialism}\marg{\gls[noindex=false]{short-long}} +\gls{setabbreviationstyle}\oarg{initialism}\marg{\abbrstyle[noindex=false]{short-long}} \strut \gls{newabbreviation}\oarg{\field{category}=initialism} \marg{gp}\marg{GP}\marg{General Practitioner} @@ -2784,7 +2800,7 @@ example: \begin{codeenv} \gls{printunsrtglossary}\oarg{\printglossopt[Nomenclature]{title}} \end{codeenv} -The title used in the table of contents is assumed to be the same, +The title used in the \gls{toc} is assumed to be the same, but you can change it with \printglossopt{toctitle}. For example: \begin{codeenv} \gls{printunsrtglossary}\oarg{ @@ -2934,6 +2950,16 @@ order of definition. \subsection{Groups and Locations} \label{sec:group} +\begin{important} +The \field{group} and \field{location} fields are considered +internal fields by \bibgls. They may be referenced within the +document, but they should not be assigned in the \ext{bib} file. +\bibgls\ assigns these fields according to the resource options and +command line switches. Explicitly assigning them can cause +unexpected results. See also \sectionref{sec:logicaldivisions} of +the \bibgls\ manual. +\end{important} + The \field{group} key isn't defined by default, but if it is defined then \gls{printunsrtglossary} will use the \field{group} field instead of trying to determine the group from the first character of @@ -3931,7 +3957,7 @@ gallery}~\cite{gallery} for further ideas.) The above example uses the \catattr{glossname} attribute to convert the first letter of the \field{name} to \idx{uppercase}. Unfortunately this can't be -applied to the PDF bookmark or table of contents. A solution to this +applied to the PDF bookmark or \gls{toc}. A solution to this would be to explicitly set the \field{name} with the first letter as an \idx{uppercase} character and the \field{text} field in \idx{lowercase}. For example: @@ -4646,7 +4672,7 @@ The arguments of sectioning commands (such as \gls{chapter} or \gls{section}) and of captions (\gls{caption}) are \pidxpl{moving-argument}. The text is not only displayed at the point in the document where the command occurs, but may also be -copied to the table of contents or list of figures etc. +copied to the \gls{toc} or list of figures etc. Additionally, depending on the page style, the section argument may also be reproduced in the page header. This repeated use of the same material can cause complications, in particular it can prematurely @@ -4698,7 +4724,7 @@ enough text to trigger a page break) but does cause unexpected output: Reference \gls{gls}\marg{html}. \cmd{end}\marg{document} \end{codeenv} -On the first \LaTeX\ run, the table of contents is empty as the +On the first \LaTeX\ run, the \gls{toc} is empty as the associated \ext{toc} file didn't exist at the start. The chapter title appears as \qt{A chapter about hypertext markup language (\textsc{html})}, which shows the \idx{firstuse} of @@ -4707,10 +4733,10 @@ but not read by \gls{tableofcontents}) now contains: \begin{codeenv} \cmd{contentsline} \marg{chapter}\marg{\cmd{numberline} \marg{1}A chapter about \gls{gls} \marg{html}}\marg{3} \end{codeenv} -This means that on the next \LaTeX\ run, the table of contents now -includes \code{\gls{gls}\marg{html}}. Since the table of contents +This means that on the next \LaTeX\ run, the \gls{toc} now +includes \code{\gls{gls}\marg{html}}. Since the \gls{toc} occurs at the start of the document, this is now the \idx{firstuse} -of \code{html}, so the full form is shown in the table of contents, +of \code{html}, so the full form is shown in the \gls{toc}, but the chapter title is now \qt{A chapter about \textsc{html}}, which shows the subsequent use. @@ -4746,7 +4772,7 @@ Reference \gls{gls}\marg{html}. \cmd{lipsum} \comment{dummy text} \cmd{end}\marg{document} \end{codeenv} -This now shows the long form in the table of contents and the +This now shows the long form in the \gls{toc} and the chapter title. Since \gls{glsfmtlong} doesn't affect the \idx{firstuseflag}, the reference after the chapter title now shows the \idx{firstuse} full form. There's no longer an error with the @@ -4762,7 +4788,7 @@ This can be corrected by setting the \catattr{headuc} attribute to \end{codeenv} This now makes the page header too long, but remember that you can use the optional argument of sectioning commands to provide a -shorter form for both the page heading and table of contents: +shorter form for both the page heading and \gls{toc}: \begin{codeenv} \gls{chapter}\oarg{A chapter about \gls{glsfmtshort}\marg{html}}\marg{A chapter about \gls{glsfmtlong}\marg{html}} @@ -4772,7 +4798,7 @@ One final problem remains and it's due to the to display the short form in small capitals. The combination of italic and small capitals isn't supported with the default fonts and results in a font substitution. There's a similar problem in the -table of contents which displays the chapter title in bold. There's +\gls{toc} which displays the chapter title in bold. There's a warning at the end of the transcript: \begin{verbatim} Some font shapes were not available, defaults substituted. @@ -4793,17 +4819,17 @@ which is used by the \qt{sc} abbreviation styles: \end{codeenv} This uses: \nosecformatdef{glsxtrifinmark} -which expands to \meta{true} in headings and the table of contents, +which expands to \meta{true} in headings and the \gls{toc}, otherwise it expands to \meta{false}. This use of \gls{MakeTextUppercase} replaces the need for the \catattr{headuc} attribute. Both \catattr{headuc} and the above redefinition of \gls{glsabbrvscfont} will cause the abbreviation to appear in -\idx{uppercase} in the table of contents. If you don't want this, -you can defer making these modifications until after the table of -contents. Alternatively, use: +\idx{uppercase} in the \gls{toc}. If you don't want this, +you can defer making these modifications until after the +\gls{toc}. Alternatively, use: \nosecformatdef{glsxtrRevertTocMarks} -which makes \gls{glsxtrifinmark} expand to \meta{false} in the table -of contents. For example: +which makes \gls{glsxtrifinmark} expand to \meta{false} in the +\gls{toc}. For example: \begin{codeenv} \cmd{documentclass}\marg{book} \strut diff --git a/Master/texmf-dist/source/support/bib2gls/src/bib2gls-cite.bib b/Master/texmf-dist/source/support/bib2gls/src/bib2gls-cite.bib index 7acb27da90b..6c57ad16143 100644 --- a/Master/texmf-dist/source/support/bib2gls/src/bib2gls-cite.bib +++ b/Master/texmf-dist/source/support/bib2gls/src/bib2gls-cite.bib @@ -117,14 +117,14 @@ System Property}, author = {Nicola Talbot}, title = {{Dickimaw Books} Gallery}, note = {\url{https://www.dickimaw-books.com/gallery/}}, - year = 2018 + year = 2019 } @misc{glossarystylesgallery, author = {Nicola Talbot}, title = {Gallery (All Styles Provided by \sty{glossaries})}, note = {\url{https://www.dickimaw-books.com/gallery/glossaries-styles/}}, - year = 2018 + year = 2019 } @misc{buildglossaries, diff --git a/Master/texmf-dist/source/support/bib2gls/src/bib2gls-src.zip b/Master/texmf-dist/source/support/bib2gls/src/bib2gls-src.zip index 3b3a0b4129d..3bb75f5b2c8 100644 Binary files a/Master/texmf-dist/source/support/bib2gls/src/bib2gls-src.zip and b/Master/texmf-dist/source/support/bib2gls/src/bib2gls-src.zip differ diff --git a/Master/texmf-dist/source/support/bib2gls/src/bib2gls.bib b/Master/texmf-dist/source/support/bib2gls/src/bib2gls.bib index a9a463f98a0..ec94ffe5d5c 100644 --- a/Master/texmf-dist/source/support/bib2gls/src/bib2gls.bib +++ b/Master/texmf-dist/source/support/bib2gls/src/bib2gls.bib @@ -1,8 +1,52 @@ % Encoding: UTF-8 +% Custom entry types will need aliasing. +% +% @bibglscommand -> \bibgls... command provided by bib2gls +% @glscommand -> command provided by glossaries.sty, +% glossaries-extra.sty or supplemental glossary packages. +% @mainglscommand -> glossary-related command with formal syntax described +% in the main matter. +% @abbrvstylecommand -> command used by abbreviation styles. +% @glostylecommand -> command used by glossary styles. +% @resourceoption -> \GlsXtrLoadResources option +% @command -> command provided by kernel or other package +% @examplecommand -> custom command defined in the examples +% @fileformat -> file format +% @application -> application +% @package -> package +% @specialchar -> special character +% @environment -> environment +% @glsenvironment -> environment provided by glossaries.sty +% @abbreviationstyle -> abbreviation style +% @glossarystyle -> glossary style +% @categoryattribute -> category attribute +% @counter -> counter +% @labelprefix -> label prefix +% @packageoption -> package option +% @field -> field +% @entrytype -> entry type +% @switch -> command line switch +% @xmltag -> tag in XML language resource file +% @unicodecategory -> Unicode category +% @texmfcnf -> texmf.cnf setting +% @file -> file +% @samplefile -> sample file +% @printglossoption -> \printunsrtglossary option +% @glslinkoption -> \glslink option +% @glsaddoption -> \glsadd option +% @exampleentry -> example entry +% @examplesymbol -> example symbol +% @exampleindex -> example term +% @exampleabbreviation -> example abbreviation +% @topic -> topic + @preamble{"\providecommand{\dhyphen}{-} -\providecommand{\csfmt}[1]{\texttt{\glsbackslash #1}}% -\providecommand{\derivfn}[1]{f'(#1)}"} +\providecommand{\csfmt}[1]{\texttt{\glsbackslash #1}} +\providecommand{\derivfn}[1]{f'(#1)} +\providecommand{\rangestartmark}{\symbol{40}} +\providecommand{\rangeendmark}{\symbol{41}} +\providecommand{\abbrvword}[1]{\textup{#1}}"} @abbreviation{IETF, short = {IETF}, @@ -30,7 +74,7 @@ } @abbreviation{SIunit, - short = {SI unit}, + short = {SI \abbrvword{unit}}, long = {International System of Units}, longplural = {International System of Units}, category={common} @@ -53,236 +97,637 @@ long = {encapsulating command} } -@dualindexentry{bibglsnewentry, +@abbreviation{toc, + short = {TOC}, + long = {table of contents} +} + +@topic{definingterms, + name={defining terms} +} + +@topic{formattingcommands, + name={formatting commands}, + text={formatting command} +} + +@topic{abbreviationcommands, + name={abbreviation commands (general)}, + text={abbreviation command}, + seealso={abbreviationstyles} +} + +@topic{glossarystylecommands, + name={glossary style commands (general)}, + text={glossary style command}, + seealso={glossarystyle} +} + +@topic{separatorcommands, + name={separator commands} +} + +@topic{crossrefcommands, + name={cross-referencing commands} +} + +@topic{loclistcommands, + name={location list commands (records)} +} + +@topic{fixedtextcommands, + name={fixed text commands} +} + +@topic{fieldrefcommands, + name={field reference commands} +} + +@topic{entryrefcommands, + name={entry reference commands} +} + +@topic{glossrefs, + name={glossary lists (\fieldfmt{type})} +} + +@topic{standalonestyles, + name={standalone styles} +} + +@topic{providingcommands, + name={defining or redefining commands} +} + +@topic{linkcommands, + name={hyperlink-capable commands or targets} +} + +@topic{supplementalrefs, + name={supplemental document references} +} + +@topic{assigncommands, + name={assignment commands}, + text={assignment command} +} + +@topic{groupcommands, + name={glossary group commands} +} + +@topic{charcommands, + name={character or symbol commands} +} + +@topic{casecommands, + name={case-changing commands}, + text={case-changing command} +} + +@topic{internalcommands, + name={internal commands} +} + +@topic{auxcommands, + name={auxiliary file commands}, + text={auxiliary file command} +} + +@topic{capheadcommands, + name={caption or heading commands}, + text={caption or heading command} +} + +@topic{listcommands, + name={list commands (internal or comma-separated)}, + text={list command} +} + +@topic{collationsubrules, + name={collation sub-rules} +} + +@topic{catattrcommands, + name={categories and attributes} +} + +@topic{regex, + name={regular expressions}, + text={regular expression}, +} + +@topic{access-support, + name={accessibility support} +} + +@topic{conditionals, + name={conditionals and boolean values}, + text={conditional}, + plural={conditionals} +} +@indexplural{booleanvals, + text={boolean value}, + alias={conditionals} +} + +@topic{debugging, + name={debugging commands}, + text={debugging command} +} + +@topic{shortcutcommands, + name={shortcut commands}, + text={shortcut command} +} + +@topic{hooks,name={hooks},text={hook}} +@topic{loops,name={loops},text={loop}} +@index{iteration,see={loops}} +@indexplural{handler,seealso={loops}} +@topic{indexing} + +@bibglscommand{bibglsnewentry, name={\csfmt{bib\-gls\-new\-entry}}, user1={\margm{label}\margm{options}\margm{name}\margm{description}}, description={defines terms provided with \atentry{entry}}, + note={\bibgls}, + topics={definingterms}, category={command} } -@dualindexentry{bibglsnewsymbol, +@bibglscommand{bibglsnewsymbol, name={\csfmt{bib\-gls\-new\-symbol}}, user1={\margm{label}\margm{options}\margm{name}\margm{description}}, description={defines terms provided with \atentry{symbol}}, + topics={definingterms}, + note={\bibgls}, category={command} } -@dualindexentry{bibglsnewnumber, +@bibglscommand{bibglsnewnumber, name={\csfmt{bib\-gls\-new\-number}}, user1={\margm{label}\margm{options}\margm{name}\margm{description}}, description={defines terms provided with \atentry{number}}, + note={\bibgls}, + topics={definingterms}, category={command} } -@dualindexentry{bibglsnewindex, +@bibglscommand{bibglsnewindex, name={\csfmt{bib\-gls\-new\-index}}, user1={\margm{label}\margm{options}}, description={defines terms provided with \atentry{index}}, + note={\bibgls}, + topics={definingterms}, category={command} } -@dualindexentry{bibglsnewindexplural, +@bibglscommand{bibglsnewindexplural, name={\csfmt{bib\-gls\-new\-index\-plural}}, user1={\margm{label}\margm{options}\margm{name}}, description={defines terms provided with \atentry{index}}, + note={\bibgls}, + topics={definingterms}, category={command} } -@dualindexentry{bibglsnewabbreviation, +@bibglscommand{bibglsnewabbreviation, name={\csfmt{bib\-gls\-new\-abbreviation}}, user1={\margm{label}\margm{options}\margm{short}\margm{long}}, description={defines terms provided with \atentry{abbreviation}}, + note={\bibgls}, + topics={definingterms}, category={command} } -@dualindexentry{bibglsnewacronym, +@bibglscommand{bibglsnewacronym, name={\csfmt{bib\-gls\-new\-acronym}}, user1={\margm{label}\margm{options}\margm{short}\margm{long}}, description={defines terms provided with \atentry{acronym}}, + topics={definingterms}, + note={\bibgls}, category={command} } -@dualindexentry{bibglsnewdualentry, +@bibglscommand{bibglsnewdualentry, name={\csfmt{bib\-gls\-new\-dual\-entry}}, user1={\margm{label}\margm{options}\margm{name}\margm{description}}, description={defines terms provided with \atentry{dualentry}}, + topics={definingterms}, + note={\bibgls}, category={command} } -@dualindexentry{bibglsnewdualindexentry, +@bibglscommand{bibglsnewdualindexentry, name={\csfmt{bib\-gls\-new\-dual\-index\-entry}}, user1={\margm{label}\margm{options}\margm{name}\margm{description}}, description={defines primary terms provided with \atentry{dualindexentry}}, + note={\bibgls}, + topics={definingterms}, category={command} } -@dualindexentry{bibglsnewdualindexentrysecondary, +@bibglscommand{bibglsnewdualindexentrysecondary, name={\csfmt{bib\-gls\-new\-dual\-index\-entry\-secondary}}, user1={\margm{label}\margm{options}\margm{name}\margm{description}}, description={defines secondary terms provided with \atentry{dualindexentry}}, + note={\bibgls}, + topics={definingterms}, category={command} } -@dualindexentry{bibglsnewdualindexsymbol, +@bibglscommand{bibglsnewdualindexsymbol, name={\csfmt{bib\-gls\-new\-dual\-index\-symbol}}, user1={\margm{label}\margm{options}\margm{name}\margm{symbol}\margm{description}}, description={defines primary terms provided with \atentry{dualindexsymbol}}, + topics={definingterms}, + note={\bibgls}, category={command} } -@dualindexentry{bibglsnewdualindexsymbolsecondary, +@bibglscommand{bibglsnewdualindexsymbolsecondary, name={\csfmt{bib\-gls\-new\-dual\-index\-symbol\-secondary}}, user1={\margm{label}\margm{options}\margm{name}\margm{description}}, description={defines secondary terms provided with \atentry{dualindexsymbol}}, + note={\bibgls}, + topics={definingterms}, category={command} } -@dualindexentry{bibglsnewdualindexnumber, +@bibglscommand{bibglsnewdualindexnumber, name={\csfmt{bib\-gls\-new\-dual\-index\-number}}, user1={\margm{label}\margm{options}\margm{name}\margm{symbol}\margm{description}}, description={defines primary terms provided with \atentry{dualindexnumber}}, + note={\bibgls}, + topics={definingterms}, category={command} } -@dualindexentry{bibglsnewdualindexnumbersecondary, +@bibglscommand{bibglsnewdualindexnumbersecondary, name={\csfmt{bib\-gls\-new\-dual\-index\-number\-secondary}}, user1={\margm{label}\margm{options}\margm{name}\margm{description}}, description={defines secondary terms provided with \atentry{dualindexnumber}}, + note={\bibgls}, + topics={definingterms}, category={command} } -@dualindexentry{bibglsnewdualindexabbreviation, +@bibglscommand{bibglsnewdualindexabbreviation, name={\csfmt{bib\-gls\-new\-dual\-index\-abbre\-via\-tion}}, user1={\margm{label}\margm{dual-label}\margm{options}\margm{name}\margm{short}\margm{long}\margm{description}}, description={defines primary terms provided with \atentry{dualindexabbreviation}}, + note={\bibgls}, + topics={definingterms}, category={command} } -@dualindexentry{bibglsnewdualindexabbreviationsecondary, +@bibglscommand{bibglsnewdualindexabbreviationsecondary, name={\csfmt{bib\-gls\-new\-dual\-index\-abbre\-via\-tion\-sec\-ond\-ary}}, user1={\margm{label}\margm{options}\margm{name}\margm{short}\margm{long}\margm{description}}, description={defines secondary terms provided with \atentry{dualindexabbreviation}}, + note={\bibgls}, + topics={definingterms}, category={command} } -@dualindexentry{bibglsnewdualabbreviationentry, +@bibglscommand{bibglsnewdualabbreviationentry, name={\csfmt{bib\-gls\-new\-dual\-abbre\-via\-tion\-entry}}, user1={\margm{label}\margm{options}\margm{short}\margm{long}\margm{description}}, description={defines primary terms provided with \atentry{dualabbreviationentry}}, + note={\bibgls}, + topics={definingterms}, category={command} } -@dualindexentry{bibglsnewdualabbreviationentrysecondary, +@bibglscommand{bibglsnewdualabbreviationentrysecondary, name={\csfmt{bib\-gls\-new\-dual\-abbre\-via\-tion\-entry\-sec\-ond\-ary}}, user1={\margm{label}\margm{options}\margm{short}\margm{long}\margm{description}}, description={defines secondary terms provided with \atentry{dualabbreviationentry}}, + note={\bibgls}, + topics={definingterms}, category={command} } -@dualindexentry{bibglsnewdualentryabbreviation, +@bibglscommand{bibglsnewdualentryabbreviation, name={\csfmt{bib\-gls\-new\-dual\-entry\-abbre\-via\-tion}}, user1={\margm{label}\margm{options}\margm{short}\margm{long}\margm{description}}, description={defines primary terms provided with (deprecated) \atentry{dualentryabbreviation}}, + note={\bibgls}, + topics={definingterms}, category={command} } -@dualindexentry{bibglsnewdualentryabbreviationsecondary, +@bibglscommand{bibglsnewdualentryabbreviationsecondary, name={\csfmt{bib\-gls\-new\-dual\-entry\-abbre\-via\-tion\-sec\-ond\-ary}}, user1={\margm{label}\margm{options}\margm{short}\margm{long}\margm{description}}, description={defines secondary terms provided with (deprecated) \atentry{dualentryabbreviation}}, + topics={definingterms}, + note={\bibgls}, category={command} } -@dualindexentry{bibglsnewdualsymbol, +@bibglscommand{bibglsnewdualsymbol, name={\csfmt{bib\-gls\-new\-dual\-symbol}}, user1={\margm{label}\margm{options}\margm{name}\margm{description}}, description={defines terms provided with \atentry{dualsymbol}}, + note={\bibgls}, + topics={definingterms}, category={command} } -@dualindexentry{bibglsnewdualnumber, +@bibglscommand{bibglsnewdualnumber, name={\csfmt{bib\-gls\-new\-dual\-number}}, user1={\margm{label}\margm{options}\margm{name}\margm{description}}, description={defines terms provided with \atentry{dualnumber}}, + note={\bibgls}, + topics={definingterms}, category={command} } -@dualindexentry{bibglsnewdualabbreviation, +@bibglscommand{bibglsnewdualabbreviation, name={\csfmt{bib\-gls\-new\-dual\-abbre\-via\-tion}}, user1={\margm{label}\margm{options}\margm{short}\margm{long}}, description={defines terms provided with \atentry{dualabbreviation}}, + topics={definingterms}, + note={\bibgls}, category={command} } -@dualindexentry{bibglsnewdualacronym, +@bibglscommand{bibglsnewdualacronym, name={\csfmt{bib\-gls\-new\-dual\-acronym}}, user1={\margm{label}\margm{options}\margm{short}\margm{long}}, description={defines terms provided with \atentry{dualacronym}}, + note={\bibgls}, + topics={definingterms}, category={command} } -@dualindexentry{bibglsnewtertiaryindexabbreviationentry, +@bibglscommand{bibglsnewtertiaryindexabbreviationentry, name={\csfmt{bib\-gls\-new\-tert\-iary\-index\-abbre\-via\-tion\-entry}}, user1={\margm{label}\margm{dual-label}\margm{options}\margm{name}\margm{short}\margm{long}\margm{description}}, description={defines primary terms provided with \atentry{tertiaryindexabbreviationentry}}, + note={\bibgls}, + topics={definingterms}, category={command} } -@dualindexentry{bibglsnewtertiaryindexabbreviationentrysecondary, +@bibglscommand{bibglsnewtertiaryindexabbreviationentrysecondary, name={\csfmt{bib\-gls\-new\-tert\-iary\-index\-abbre\-via\-tion\-entry\-sec\-ond\-ary}}, user1={\margm{label}\margm{tertiary-label}\margm{options}\margm{tertiary-opts}\margm{primary-name}\margm{short}\margm{long}\margm{description}}, description={defines secondary and tertiary terms provided with \atentry{tertiaryindexabbreviationentry}}, + note={\bibgls}, + topics={definingterms}, category={command} } -@dualindexentry{bibglsnewbibtexentry, +@bibglscommand{bibglsnewbibtexentry, name={\csfmt{bib\-gls\-new\-bib\-tex\-entry}}, user1={\margm{label}\margm{options}\margm{name}\margm{description}}, description={defines terms provided with \atentry{bibtexentry}}, + note={\bibgls}, + topics={definingterms}, category={command} } -@dualindexentry{bibglsnewcontributor, +@bibglscommand{bibglsnewcontributor, name={\csfmt{bib\-gls\-new\-con\-trib\-u\-tor}}, user1={\margm{label}\margm{options}\margm{name}\margm{description}}, description={defines terms provided with \atentry{contributor}}, + note={\bibgls}, + topics={definingterms}, + category={command} +} + +@bibglscommand{bibglsnewprogenitor, + name={\csfmt{bib\-gls\-new\-progenitor}}, + user1={\margm{label}\margm{options}\margm{name}\margm{description}}, + description={defines terms provided with \atentry{progenitor}}, + note={\bibgls}, + topics={definingterms}, + category={command} +} + +@bibglscommand{bibglsnewspawnindex, + name={\csfmt{bib\-gls\-new\-spawn\-index}}, + user1={\margm{label}\margm{options}\margm{name}\margm{description}}, + description={defines terms provided with \atentry{spawnindex}}, + note={\bibgls}, + topics={definingterms}, + category={command} +} + +@bibglscommand{bibglsnewspawndualindexentry, + name={\csfmt{bib\-gls\-new\-spawn\-dual\-index\-entry}}, + user1={\margm{label}\margm{options}\margm{name}\margm{description}}, + description={defines terms provided with \atentry{spawndualindexentry}}, + note={\bibgls}, + topics={definingterms}, + category={command} +} + +@bibglscommand{bibglsnewspawndualindexentrysecondary, + name={\csfmt{bib\-gls\-new\-spawn\-dual\-index\-entry\-secondary}}, + user1={\margm{label}\margm{options}\margm{name}\margm{description}}, + description={defines secondary terms provided with \atentry{spawndualindexentry}}, + note={\bibgls}, + topics={definingterms}, + category={command} +} + +@bibglscommand{bibglsnewspawnedindex, + name={\csfmt{bib\-gls\-new\-spawned\-index}}, + user1={\margm{label}\margm{options}}, + description={defines terms spawned from \atentry{progenitor} + or \atentry{spawnindex}}, + note={\bibgls}, + topics={definingterms}, + category={command} +} + +@bibglscommand{bibglsnewspawnindexplural, + name={\csfmt{bib\-gls\-new\-spawn\-index\-plural}}, + user1={\margm{label}\margm{options}\margm{name}\margm{description}}, + description={defines terms provided with \atentry{spawnindexplural}}, + note={\bibgls}, + topics={definingterms}, + category={command} +} + +@bibglscommand{bibglsnewspawnedindexplural, + name={\csfmt{bib\-gls\-new\-spawned\-index\-plural}}, + user1={\margm{label}\margm{options}\margm{name}}, + description={defines terms spawned from \atentry{spawnindexplural}}, + note={\bibgls}, + topics={definingterms}, + category={command} +} + +@bibglscommand{bibglsnewspawnentry, + name={\csfmt{bib\-gls\-new\-spawn\-entry}}, + user1={\margm{label}\margm{options}\margm{name}\margm{description}}, + description={defines terms provided with \atentry{spawnentry}}, + note={\bibgls}, + topics={definingterms}, + category={command} +} + +@bibglscommand{bibglsnewspawnedentry, + name={\csfmt{bib\-gls\-new\-spawned\-entry}}, + user1={\margm{label}\margm{options}}, + description={defines terms spawned from \atentry{spawnentry}}, + note={\bibgls}, + topics={definingterms}, + category={command} +} + +@bibglscommand{bibglsnewspawnabbreviation, + name={\csfmt{bib\-gls\-new\-spawn\-abbreviation}}, + user1={\margm{label}\margm{options}\margm{short}\margm{long}}, + description={defines terms provided with \atentry{spawnabbreviation}}, + note={\bibgls}, + topics={definingterms}, + category={command} +} + +@bibglscommand{bibglsnewspawnedabbreviation, + name={\csfmt{bib\-gls\-new\-spawned\-abbreviation}}, + user1={\margm{label}\margm{options}\margm{short}\margm{long}}, + description={defines terms spawned from \atentry{spawnabbreviation}}, + note={\bibgls}, + topics={definingterms}, + category={command} +} + +@bibglscommand{bibglsnewspawnacronym, + name={\csfmt{bib\-gls\-new\-spawn\-acronym}}, + user1={\margm{label}\margm{options}\margm{short}\margm{long}}, + description={defines terms provided with \atentry{spawnacronym}}, + note={\bibgls}, + topics={definingterms}, + category={command} +} + +@bibglscommand{bibglsnewspawnedacronym, + name={\csfmt{bib\-gls\-new\-spawned\-acronym}}, + user1={\margm{label}\margm{options}\margm{short}\margm{long}}, + description={defines terms spawned from \atentry{spawnacronym}}, + note={\bibgls}, + topics={definingterms}, + category={command} +} + +@bibglscommand{bibglsnewspawnsymbol, + name={\csfmt{bib\-gls\-new\-spawn\-symbol}}, + user1={\margm{label}\margm{options}\margm{name}\margm{description}}, + description={defines terms provided with \atentry{spawnsymbol}}, + note={\bibgls}, + topics={definingterms}, + category={command} +} + +@bibglscommand{bibglsnewspawnedsymbol, + name={\csfmt{bib\-gls\-new\-spawned\-symbol}}, + user1={\margm{label}\margm{options}\margm{name}\margm{description}}, + description={defines terms spawned from \atentry{spawnsymbol}}, + note={\bibgls}, + topics={definingterms}, + category={command} +} + +@bibglscommand{bibglsnewspawnnumber, + name={\csfmt{bib\-gls\-new\-spawn\-number}}, + user1={\margm{label}\margm{options}\margm{name}\margm{description}}, + description={defines terms provided with \atentry{spawnnumber}}, + note={\bibgls}, + topics={definingterms}, + category={command} +} + +@bibglscommand{bibglsnewspawnednumber, + name={\csfmt{bib\-gls\-new\-spawned\-number}}, + user1={\margm{label}\margm{options}\margm{name}\margm{description}}, + description={defines terms spawned from \atentry{spawnnumber}}, + note={\bibgls}, + topics={definingterms}, category={command} } -@dualindexentry{bibglsuselongfont, +@bibglscommand{bibglsuselongfont, name={\csfmt{bib\-gls\-use\-long\-font}}, user1={\margm{text}\margm{category}}, description={ensures that the given text is formatted according to the given category's long format}, + note={\bibgls}, + topics={definingterms}, category={command} } -@index{glsuselongfont, +@glscommand{glsuselongfont, name={\csfmt{gls\-use\-long\-font}}, user1={\margm{text}\margm{category}}, description={applies the formatting command used for the long form for the abbreviation style associated with the given category}, note={\styfmt{glossaries-extra} v1.21+}, + topics={formattingcommands,abbreviationcommands}, + category={command} +} + +@glscommand{ifglsxtrinsertinside, + name={\csfmt{if\-gls\-xtr\-insert\-inside}}, + description={switch that determines whether or not inserted text + (provided in the final optional argument of commands like \cs{gls}) + is inside or outside of the font changing commands in the predefined + abbreviation styles. The default is \optfmt{false}}, + topics={abbreviationcommands,conditionals}, + note={\styfmt{glossaries-extra} v1.02+}, + category={command} +} + +@glscommand{glsxtrinsertinsidefalse, + name={\csfmt{gls\-xtr\-insert\-inside\-false}}, + description={sets the \cs{ifglsxtrinsertinside} switch to \optfmt{false}}, + topics={abbreviationcommands,conditionals}, + note={\styfmt{glossaries-extra} v1.02+}, + category={command} +} + +@glscommand{glsxtrinsertinsidetrue, + name={\csfmt{gls\-xtr\-insert\-inside\-true}}, + description={sets the \cs{ifglsxtrinsertinside} switch to \optfmt{true}}, + topics={abbreviationcommands,conditionals}, + note={\styfmt{glossaries-extra} v1.02+}, + category={command} +} + +@glscommand{glsxtrfullsep, + name={\csfmt{gls\-xtr\-full\-sep}}, + user1={\margm{label}}, + description={the separator used in the full format for the + parenthetical abbreviation styles or for inline parenthetical + styles. This just does a space by default}, + topics={formattingcommands,abbreviationcommands}, + note={\styfmt{glossaries-extra}}, category={command} } -@index{GlsXtrAutoAddOnFormat, +@glscommand{GlsXtrAutoAddOnFormat, name={\csfmt{GlsXtrAutoAddOnFormat}}, user1={\oargm{label}\margm{format list}\margm{glsadd options}}, description={makes commands like \cs{gls} and \cs{glslink} @@ -292,453 +737,584 @@ comma-separated elements of \meta{format list}. The format isn't automatically applied to the \cs{glsadd} options}, note={\styfmt{glossaries-extra} v1.37+}, + topics={hooks,indexing}, category={command} } -@dualindexentry{bibglsuseabbrvfont, +@bibglscommand{bibglsuseabbrvfont, name={\csfmt{bib\-gls\-use\-abbrv\-font}}, user1={\margm{text}\margm{category}}, description={ensures that the given text is formatted according to the given category's short format}, + note={\bibgls}, + topics={formattingcommands,abbreviationcommands}, category={command} } -@index{glsuseabbrvfont, +@glscommand{glsuseabbrvfont, name={\csfmt{gls\-use\-abbrv\-font}}, user1={\margm{text}\margm{category}}, description={applies the formatting command used for the short form for the abbreviation style associated with the given category}, note={\styfmt{glossaries-extra} v1.21+}, + topics={formattingcommands,abbreviationcommands}, category={command} } -@dualindexentry{bibglsseesep, +@bibglscommand{bibglsseesep, name={\csfmt{bib\-gls\-see\-sep}}, user1={}, description={separator between \field{see} cross-references and location list}, + note={\bibgls}, + topics={glossarystylecommands,separatorcommands,crossrefcommands,loclistcommands}, category={command} } -@dualindexentry{bibglsaliassep, +@bibglscommand{bibglsaliassep, name={\csfmt{bib\-gls\-alias\-sep}}, user1={}, description={separator between \field{alias} cross-reference and location list}, + note={\bibgls}, + topics={glossarystylecommands,separatorcommands,crossrefcommands,loclistcommands}, category={command} } -@dualindexentry{bibglsseealsosep, + +@bibglscommand{bibglsseealsosep, name={\csfmt{bib\-gls\-see\-also\-sep}}, user1={}, description={separator between \field{seealso} cross-references and location list}, + note={\bibgls}, + topics={glossarystylecommands,separatorcommands,crossrefcommands,loclistcommands}, + category={command} +} + +@bibglscommand{bibglscompact, + name={\csfmt{bib\-gls\-compact}}, + user1={\margm{pattern}\margm{part1}\margm{part2}}, + description={compaction used on the end range location}, + note={\bibgls}, + topics={glossarystylecommands,loclistcommands}, category={command} } -@dualindexentry{bibglspassim, +@bibglscommand{bibglspassim, name={\csfmt{bib\-gls\-passim}}, user1={}, description={passim range suffix}, + note={\bibgls}, + topics={glossarystylecommands,loclistcommands}, category={command} } -@dualindexentry{bibglspassimname, +@bibglscommand{bibglspassimname, name={\csfmt{bib\-gls\-passim\-name}}, user1={}, description={name used by passim range suffix}, + note={\bibgls}, + topics={glossarystylecommands,loclistcommands,fixedtextcommands}, category={command} } -@dualindexentry{bibglsusesee, +@bibglscommand{bibglsusesee, name={\csfmt{bib\-gls\-use\-see}}, user1={\margm{label}}, - description={display cross-reference list for given entry}, + description={display \field{see} cross-reference list for given entry}, + note={\bibgls}, + topics={glossarystylecommands,crossrefcommands,loclistcommands,fieldrefcommands}, category={command} } -@dualindexentry{bibglsusealias, +@bibglscommand{bibglsusealias, name={\csfmt{bib\-gls\-use\-alias}}, user1={\margm{label}}, - description={display cross-reference list for given entry}, + description={display the \field{alias} cross-reference for given entry}, + topics={glossarystylecommands,crossrefcommands,loclistcommands,fieldrefcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglsuseseealso, + +@bibglscommand{bibglsuseseealso, name={\csfmt{bib\-gls\-use\-see\-also}}, user1={\margm{label}}, - description={display cross-reference list for given entry}, + description={display the \field{seealso} cross-reference list for given entry}, + topics={glossarystylecommands,crossrefcommands,loclistcommands,fieldrefcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglsdelimN, +@bibglscommand{bibglsdelimN, name={\csfmt{bib\-gls\-delimN}}, user1={}, - description={delimit individual locations (except last)}, + description={separator for individual locations (except last)}, seealso={bibglslastDelimN}, + note={\bibgls}, + topics={glossarystylecommands,loclistcommands,separatorcommands}, category={command} } -@dualindexentry{bibglslastDelimN, +@bibglscommand{bibglslastDelimN, name={\csfmt{bib\-gls\-last\-DelimN}}, user1={}, - description={delimit last location}, + description={separator before the last location (where there is + more than one location)}, seealso={bibglsdelimN}, + topics={glossarystylecommands,loclistcommands,separatorcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglsrange, +@bibglscommand{bibglsrange, name={\csfmt{bib\-gls\-range}}, user1={\marg{\meta{start}\cs{delimR} \meta{end}}}, description={Explicit range format}, + note={\bibgls}, + topics={glossarystylecommands,loclistcommands}, category={command} } -@dualindexentry{bibglsinterloper, +@bibglscommand{bibglsinterloper, name={\csfmt{bib\-gls\-inter\-loper}}, user1={\margm{location}}, description={interloper location format}, + note={\bibgls}, + topics={glossarystylecommands,loclistcommands}, category={command} } -@dualindexentry{bibglspostlocprefix, +@bibglscommand{bibglspostlocprefix, name={\csfmt{bib\-gls\-post\-loc\-prefix}}, user1={}, description={location list post prefix}, + note={\bibgls}, + topics={glossarystylecommands,loclistcommands}, category={command} } -@dualindexentry{bibglslocprefix, +@bibglscommand{bibglslocprefix, name={\csfmt{bib\-gls\-loc\-prefix}}, user1={\margm{n}}, description={location list prefix}, + topics={glossarystylecommands,loclistcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglsprimary, +@bibglscommand{bibglsprimary, name={\csfmt{bib\-gls\-primary}}, user1={\margm{n}\margm{locations}}, description={location list encapsulator used in the \field{primarylocations} field}, + topics={loclistcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglspagename, +@bibglscommand{bibglspagename, name={\csfmt{bib\-gls\-page\-name}}, user1={}, description={name used for single page}, + topics={glossarystylecommands,loclistcommands,fixedtextcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglspagesname, +@bibglscommand{bibglspagesname, name={\csfmt{bib\-gls\-pages\-name}}, user1={}, description={name used for multiple pages}, + topics={glossarystylecommands,loclistcommands,fixedtextcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglslocsuffix, +@bibglscommand{bibglslocsuffix, name={\csfmt{bib\-gls\-loc\-suffix}}, user1={\margm{n}}, description={location list suffix}, + topics={glossarystylecommands,loclistcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglshyperlink, +@bibglscommand{bibglshyperlink, name={\csfmt{bib\-gls\-hyper\-link}}, user1={\margm{text}\margm{label}}, description={displays \meta{text} with a hyperlink to the entry given by \meta{label}, if supported}, + topics={linkcommands,fieldrefcommands}, + note={\bibgls\texparserdefnote}, category={command} } -@dualindexentry{bibglslocationgroup, +@bibglscommand{bibglslocationgroup, name={\csfmt{bib\-gls\-location\-group}}, user1={\margm{n}\margm{counter}\margm{list}}, description={location group encapsulator}, + topics={glossarystylecommands,loclistcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglslocationgroupsep, +@bibglscommand{bibglslocationgroupsep, name={\csfmt{bib\-gls\-location\-group\-sep}}, user1={}, description={location group separator}, + topics={glossarystylecommands,loclistcommands,separatorcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglssupplemental, +@bibglscommand{bibglssupplemental, name={\csfmt{bib\-gls\-supple\-mental}}, user1={\margm{n}\margm{list}}, description={supplemental list encapsulator}, + note={\bibgls}, + topics={glossarystylecommands,loclistcommands,supplementalrefs}, category={command} } -@dualindexentry{bibglssupplementalsep, +@bibglscommand{bibglssupplementalsep, name={\csfmt{bib\-gls\-supple\-mental\-sep}}, user1={}, description={separator between main and supplementary locations}, + topics={glossarystylecommands,loclistcommands,supplementalrefs,separatorcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglssupplementalsublist, +@bibglscommand{bibglssupplementalsublist, name={\csfmt{bib\-gls\-supple\-mental\-sub\-list}}, user1={\margm{n}\margm{external document}\margm{list}}, description={supplemental sub-list encapsulator}, + topics={glossarystylecommands,loclistcommands,supplementalrefs}, + note={\bibgls}, category={command} } -@dualindexentry{bibglssupplementalsubsep, +@bibglscommand{bibglssupplementalsubsep, name={\csfmt{bib\-gls\-supple\-mental\-sub\-sep}}, user1={}, description={separator between supplementary sub-lists}, + topics={glossarystylecommands,loclistcommands,supplementalrefs,separatorcommands}, + note={\bibgls}, category={command} } -@dualindexentry{glsgroupheading, +@mainglscommand{glsgroupheading, name={\csfmt{gls\-group\-heading}}, user1={\margm{label}}, description={formats the heading for the group identified by the given label}, + topics={glossarystylecommands,formattingcommands}, note={\styfmt{glossaries}}, category={command} } -@dualindexentry{bibglssetlastgrouptitle, +@bibglscommand{bibglssetlastgrouptitle, name={\csfmt{bib\-gls\-set\-last\-group\-title}}, user1={\margm{cs}\margm{specs}}, description={sets the last group title}, + topics={glossarystylecommands,assigncommands,groupcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglssetlettergrouptitle, +@bibglscommand{bibglssetlettergrouptitle, name={\csfmt{bib\-gls\-set\-letter\-group\-title}}, user1={\marg{\margm{title}\margm{letter}\margm{id}\margm{type}}}, description={sets the letter group title}, + topics={glossarystylecommands,assigncommands,groupcommands}, + note={\bibgls}, category={command} } -@dualindexentry{glsxtrsetgrouptitle, +@mainglscommand{glsxtrsetgrouptitle, name={\csfmt{gls\-xtr\-set\-group\-title}}, user1={\margm{group label}\margm{group title}}, description={globally sets the title for the group identified by the given label}, + topics={glossarystylecommands,assigncommands,groupcommands}, note={\styfmt{glossaries-extra} v1.14+}, category={command} } -@dualindexentry{glsxtrlocalsetgrouptitle, +@glscommand{glsxtrlocalsetgrouptitle, name={\csfmt{gls\-xtr\-local\-set\-group\-title}}, user1={\margm{group label}\margm{group title}}, description={locally sets the title for the group identified by the given label}, + topics={glossarystylecommands,assigncommands,groupcommands}, note={\styfmt{glossaries-extra} v1.24+}, category={command} } -@dualindexentry{bibglslettergroup, +@bibglscommand{bibglslettergroup, name={\csfmt{bib\-gls\-letter\-group}}, user1={\margm{title}\margm{letter}\margm{id}\margm{type}}, description={expands to the letter group label}, + topics={glossarystylecommands,groupcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglslettergrouptitle, +@bibglscommand{bibglslettergrouptitle, name={\csfmt{bib\-gls\-letter\-group\-title}}, user1={\margm{title}\margm{letter}\margm{id}\margm{type}}, description={expands to the letter group title}, + topics={glossarystylecommands,groupcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglssetothergrouptitle, +@bibglscommand{bibglssetothergrouptitle, name={\csfmt{bib\-gls\-set\-other\-group\-title}}, user1={\marg{\margm{character}\margm{id}\margm{type}}}, description={sets the non-letter group title}, + topics={glossarystylecommands,assigncommands,groupcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglsothergroup, +@bibglscommand{bibglsothergroup, name={\csfmt{bib\-gls\-other\-group}}, user1={\margm{character}\margm{id}\margm{type}}, description={expands to the non-letter group label}, + topics={glossarystylecommands,groupcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglsothergrouptitle, +@bibglscommand{bibglsothergrouptitle, name={\csfmt{bib\-gls\-other\-group\-title}}, user1={\margm{character}\margm{id}\margm{type}}, description={expands to the non-letter group title}, + topics={glossarystylecommands,groupcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglssetemptygrouptitle, +@bibglscommand{bibglssetemptygrouptitle, name={\csfmt{bib\-gls\-set\-empty\-group\-title}}, user1={\marg{\margm{type}}}, description={sets the empty group title}, + topics={glossarystylecommands,assigncommands,groupcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglsemptygroup, +@bibglscommand{bibglsemptygroup, name={\csfmt{bib\-gls\-empty\-group}}, user1={\margm{type}}, description={expands to the empty group label}, + topics={glossarystylecommands,groupcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglsemptygrouptitle, +@bibglscommand{bibglsemptygrouptitle, name={\csfmt{bib\-gls\-empty\-group\-title}}, user1={\margm{type}}, description={expands to the empty group title}, + topics={glossarystylecommands,groupcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglssetunicodegrouptitle, +@bibglscommand{bibglssetunicodegrouptitle, name={\csfmt{bib\-gls\-set\-unicode\-group\-title}}, user1={\marg{\margm{label}\margm{character}\margm{id}\margm{type}}}, description={sets the Unicode script, category or character code title}, + topics={glossarystylecommands,assigncommands,groupcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglsunicodegroup, +@bibglscommand{bibglsunicodegroup, name={\csfmt{bib\-gls\-unicode\-group}}, user1={\margm{label}\margm{character}\margm{id}\margm{type}}, description={expands to the Unicode script or category label or character code}, + note={\bibgls}, + topics={glossarystylecommands,groupcommands}, category={command} } -@dualindexentry{bibglsunicodegrouptitle, +@bibglscommand{bibglsunicodegrouptitle, name={\csfmt{bib\-gls\-unicode\-group\-title}}, user1={\margm{label}\margm{character}\margm{id}\margm{type}}, description={expands to the Unicode script or category label or character code}, + topics={glossarystylecommands,groupcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglssetnumbergrouptitle, +@bibglscommand{bibglssetnumbergrouptitle, name={\csfmt{bib\-gls\-set\-number\-group\-title}}, user1={\marg{\margm{value}\margm{id}\margm{type}}}, description={sets the number group title}, + topics={glossarystylecommands,assigncommands,groupcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglsnumbergroup, +@bibglscommand{bibglsnumbergroup, name={\csfmt{bib\-gls\-number\-group}}, user1={\margm{value}\margm{id}\margm{type}}, description={expands to the number group label}, + topics={glossarystylecommands,groupcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglsnumbergrouptitle, +@bibglscommand{bibglsnumbergrouptitle, name={\csfmt{bib\-gls\-number\-group\-title}}, user1={\margm{value}\margm{id}\margm{type}}, description={expands to the number group title}, + topics={glossarystylecommands,groupcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglssetdatetimegrouptitle, +@bibglscommand{bibglssetdatetimegrouptitle, name={\csfmt{bib\-gls\-set\-date\-time\-group\-title}}, user1={\marg{\margm{YYYY}\margm{MM}\margm{DD}\margm{hh}\margm{mm}\margm{ss}\margm{zone}\margm{title}\margm{group\dhyphen id}\margm{type}}}, description={sets the date-time group title}, + topics={glossarystylecommands,assigncommands,groupcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglsdatetimegroup, +@bibglscommand{bibglsdatetimegroup, name={\csfmt{bib\-gls\-date\-time\-group}}, user1={\margm{YYYY}\margm{MM}\margm{DD}\margm{hh}\margm{mm}\margm{ss}\margm{zone}\margm{title}\margm{group\dhyphen id}\margm{type}}, description={expands to the date-time group label}, + topics={glossarystylecommands,groupcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglsdatetimegrouptitle, +@bibglscommand{bibglsdatetimegrouptitle, name={\csfmt{bib\-gls\-date\-time\-group\-title}}, user1={\margm{YYYY}\margm{MM}\margm{DD}\margm{hh}\margm{mm}\margm{ss}\margm{zone}\margm{title}\margm{group\dhyphen id}\margm{type}}, description={expands to the date-time group title}, + topics={glossarystylecommands,groupcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglssetdategrouptitle, +@bibglscommand{bibglssetdategrouptitle, name={\csfmt{bib\-gls\-set\-date\-group\-title}}, user1={\marg{\margm{YYYY}\margm{MM}\margm{DD}\margm{G}\margm{title}\margm{group\dhyphen id}\margm{type}}}, description={sets the date (no time) group title}, + topics={glossarystylecommands,assigncommands,groupcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglsdategroup, +@bibglscommand{bibglsdategroup, name={\csfmt{bib\-gls\-date\-group}}, user1={\margm{YYYY}\margm{MM}\margm{DD}\margm{G}\margm{title}\margm{group\dhyphen id}\margm{type}}, description={expands to the date group label}, + topics={glossarystylecommands,groupcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglsdategrouptitle, +@bibglscommand{bibglsdategrouptitle, name={\csfmt{bib\-gls\-date\-group\-title}}, user1={\margm{YYYY}\margm{MM}\margm{DD}\margm{G}\margm{title}\margm{group\dhyphen id}\margm{type}}, description={expands to the date group title}, + topics={glossarystylecommands,groupcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglssettimegrouptitle, +@bibglscommand{bibglssettimegrouptitle, name={\csfmt{bib\-gls\-set\-time\-group\-title}}, user1={\marg{\margm{hh}\margm{mm}\margm{ss}\margm{zone}\margm{title}\margm{group\dhyphen id}\margm{type}}}, description={sets the time (no date) group title}, + topics={glossarystylecommands,assigncommands,groupcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglstimegroup, +@bibglscommand{bibglstimegroup, name={\csfmt{bib\-gls\-time\-group}}, user1={\margm{hh}\margm{mm}\margm{ss}\margm{zone}\margm{title}\margm{group\dhyphen id}\margm{type}}, description={expands to the time group label}, + topics={glossarystylecommands,groupcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglstimegrouptitle, +@bibglscommand{bibglstimegrouptitle, name={\csfmt{bib\-gls\-time\-group\-title}}, user1={\margm{hh}\margm{mm}\margm{ss}\margm{zone}\margm{title}\margm{group\dhyphen id}\margm{type}}, description={expands to the time group title}, + topics={glossarystylecommands,groupcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglshypergroup, +@bibglscommand{bibglshypergroup, name={\csfmt{bib\-gls\-hyper\-group}}, user1={\margm{type}\margm{group\dhyphen id}}, description={creates group navigation information}, + topics={glossarystylecommands,groupcommands,linkcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglsflattenedhomograph, +@bibglscommand{bibglsflattenedhomograph, name={\csfmt{bib\-gls\-flattened\-homograph}}, user1={\margm{name}\margm{parent label}}, description={expands to the flattened entry's new name}, + topics={glossarystylecommands,formattingcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglsflattenedchildpresort, +@bibglscommand{bibglsflattenedchildpresort, name={\csfmt{bib\-gls\-flattened\-child\-pre\-sort}}, user1={\margm{child name}\margm{parent name}}, description={expands to the pre-sort flattened child entry's new name}, + topics={glossarystylecommands,formattingcommands}, + note={\bibgls\texparserdefnote}, category={command} } -@dualindexentry{bibglsflattenedchildpostsort, +@bibglscommand{bibglsflattenedchildpostsort, name={\csfmt{bib\-gls\-flattened\-child\-post\-sort}}, user1={\margm{parent name}\margm{child name}}, description={expands to the post-sort flattened child entry's new name}, + topics={glossarystylecommands,formattingcommands}, + note={\bibgls\texparserdefnote}, category={command} } -@dualindexentry{bibglssetwidest, +@bibglscommand{bibglssetwidest, name={\csfmt{bib\-gls\-set\-widest}}, user1={\margm{level}\margm{name}}, description={sets the widest name}, + topics={glossarystylecommands,assigncommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglssetwidestfortype, +@bibglscommand{bibglssetwidestfortype, name={\csfmt{bib\-gls\-set\-widest\-for\-type}}, user1={\margm{type}\margm{level}\margm{name}}, description={sets the widest name for the given glossary type}, + topics={glossarystylecommands,assigncommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglssetwidesttoplevelfallback, +@bibglscommand{bibglssetwidesttoplevelfallback, name={\csfmt{bib\-gls\-set\-widest\-top\-level\-fallback}}, user1={\margm{glossary list}}, description={fallback used instead of \csref{bibglssetwidest} @@ -746,406 +1322,481 @@ name}, where there are only top level entries, where \meta{glossary list} is a comma-separated list of glossary labels}, + topics={glossarystylecommands,assigncommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglssetwidestfallback, +@bibglscommand{bibglssetwidestfallback, name={\csfmt{bib\-gls\-set\-widest\-fallback}}, user1={\margm{glossary list}}, description={fallback used instead of \csref{bibglssetwidest} in the event that \bibgls\ can't determine the widest name, where \meta{glossary list} is a comma-separated list of glossary labels}, + topics={glossarystylecommands,assigncommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglssetwidestfortypefallback, +@bibglscommand{bibglssetwidestfortypefallback, name={\csfmt{bib\-gls\-set\-widest\-for\-type\-fallback}}, user1={\margm{type}}, description={fallback used instead of \csref{bibglssetwidestfortype} in the event that \bibgls\ can't determine the widest name}, + topics={glossarystylecommands,assigncommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglssetwidesttoplevelfortypefallback, +@bibglscommand{bibglssetwidesttoplevelfortypefallback, name={\csfmt{bib\-gls\-set\-widest\-top\-level\-for\-type\-fallback}}, user1={\margm{type}}, description={fallback used instead of \csref{bibglssetwidestfortype} in the event that \bibgls\ can't determine the widest name where there are only top-level entries}, + topics={glossarystylecommands,assigncommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglscontributorlist, +@bibglscommand{bibglscontributorlist, name={\csfmt{bib\-gls\-contributor\-list}}, user1={\margm{list}\margm{number}}, description={used to markup a list of names from a field that was converted from \BibTeX's contributor syntax}, + topics={formattingcommands}, + note={\bibgls\texparserdefnote}, category={command} } -@dualindexentry{bibglscontributor, +@bibglscommand{bibglscontributor, name={\csfmt{bib\-gls\-contributor}}, user1={\margm{forenames}\margm{von-part}\margm{surname}\margm{suffix}}, description={used to markup a contributor's name that was converted from \BibTeX's contributor syntax}, + topics={formattingcommands}, + note={\bibgls\texparserdefnote}, category={command} } -@dualindexentry{bibglsdate, +@bibglscommand{bibglsdate, name={\csfmt{bib\-gls\-date}}, user1={\margm{year}\margm{month}\margm{day-of-month}\margm{day-of-week}\margm{day-of-year}\margm{era}\margm{original}}, description={used to markup a date converted from a field value}, + topics={formattingcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglsdatetime, +@bibglscommand{bibglsdatetime, name={\csfmt{bib\-gls\-date\-time}}, user1={\margm{year}\margm{month}\margm{day-of-month}\margm{day-of-week}\margm{day-of-year}\margm{era}\margm{hour}\margm{minute}\margm{second}\margm{millisec}\margm{dst}\margm{zone}\margm{original}}, description={used to markup a date-time instance converted from a field value}, + topics={formattingcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglsdatetimeremainder, +@bibglscommand{bibglsdatetimeremainder, name={\csfmt{bib\-gls\-date\-time\-remainder}}, user1={\margm{millisec}\margm{dst}\margm{zone}\margm{original}}, description={used internally to pick up the final four arguments of \csref{bibglsdatetime}}, + topics={formattingcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglstime, +@bibglscommand{bibglstime, name={\csfmt{bib\-gls\-time}}, user1={\margm{hour}\margm{minute}\margm{second}\margm{millisec}\margm{dst}\margm{zone}\margm{original}}, description={used to markup a time converted from a field value}, + topics={formattingcommands}, + note={\bibgls}, category={command} } -@dualindexentry{bibglshashchar, +@bibglscommand{bibglshashchar, name={\csfmt{bib\-gls\-hash\-char}}, user1={}, description={expands to a literal hash character}, + topics={charcommands}, + note={\bibgls\texparserdefnote}, category={command} } -@dualindexentry{bibglsunderscorechar, +@bibglscommand{bibglsunderscorechar, name={\csfmt{bib\-gls\-under\-score\-char}}, user1={}, description={expands to a literal underscore character}, + topics={charcommands}, + note={\bibgls\texparserdefnote}, category={command} } -@dualindexentry{bibglsdollarchar, +@bibglscommand{bibglsdollarchar, name={\csfmt{bib\-gls\-dollar\-char}}, user1={}, description={expands to a literal dollar character}, + topics={charcommands}, + note={\bibgls\texparserdefnote}, category={command} } -@dualindexentry{bibglsampersandchar, +@bibglscommand{bibglsampersandchar, name={\csfmt{bib\-gls\-amper\-sand\-char}}, user1={}, description={expands to a literal ampersand character}, + topics={charcommands}, + note={\bibgls\texparserdefnote}, category={command} } -@dualindexentry{bibglscircumchar, +@bibglscommand{bibglscircumchar, name={\csfmt{bib\-gls\-circum\-char}}, user1={}, description={expands to a literal circumflex character}, + topics={charcommands}, + note={\bibgls\texparserdefnote}, category={command} } -@dualindexentry{bibglshrefchar, +@bibglscommand{bibglshrefchar, name={\csfmt{bib\-gls\-href\-char}}, user1={\margm{hex}\margm{char}}, description={expands to a literal percent character followed by \meta{hex}}, + topics={charcommands}, + note={\bibgls\texparserdefnote}, category={command} } -@dualindexentry{bibglshrefunicode, +@bibglscommand{bibglshrefunicode, name={\csfmt{bib\-gls\-href\-unicode}}, user1={\margm{hex}\margm{char}}, description={expands to \meta{char} by default}, + topics={charcommands}, + note={\bibgls\texparserdefnote}, category={command} } -@dualindexentry{bibglsprimaryprefixlabel, +@bibglscommand{bibglsprimaryprefixlabel, name={\csfmt{bib\-gls\-primary\-prefix\-label}}, user1={\margm{prefix}}, description={hook provided to pick up the primary prefix, if required}, + topics={hooks}, + note={\bibgls}, category={command} } -@dualindexentry{bibglsdualprefixlabel, +@bibglscommand{bibglsdualprefixlabel, name={\csfmt{bib\-gls\-dual\-prefix\-label}}, user1={\margm{prefix}}, description={hook provided to pick up the dual prefix, if required}, + topics={hooks}, + note={\bibgls}, category={command} } -@dualindexentry{bibglstertiaryprefixlabel, +@bibglscommand{bibglstertiaryprefixlabel, name={\csfmt{bib\-gls\-tertiary\-prefix\-label}}, user1={\margm{prefix}}, description={hook provided to pick up the tertiary prefix, if required}, + topics={hooks}, + note={\bibgls}, category={command} } -@dualindexentry{bibglsexternalprefixlabel, +@bibglscommand{bibglsexternalprefixlabel, name={\csfmt{bib\-gls\-external\-prefix\-label}}, user1={\margm{n}\margm{prefix}}, description={hook provided to pick up the \meta{n}th external prefix, if required}, + topics={hooks}, + note={\bibgls}, category={command} } -@dualindexentry{bibglsuppercase, +@bibglscommand{bibglsuppercase, name={\csfmt{bib\-gls\-upper\-case}}, user1={\margm{text}}, description={converts \meta{text} to \idx{uppercase}}, + topics={formattingcommands,casecommands}, + note={\bibgls\texparserdefnote}, category={command} } -@dualindexentry{bibglslowercase, +@bibglscommand{bibglslowercase, name={\csfmt{bib\-gls\-lower\-case}}, user1={\margm{text}}, description={converts \meta{text} to \idx{lowercase}}, + topics={formattingcommands,casecommands}, + note={\bibgls\texparserdefnote}, category={command} } -@dualindexentry{bibglstitlecase, +@bibglscommand{bibglstitlecase, name={\csfmt{bib\-gls\-title\-case}}, user1={\margm{text}}, description={converts \meta{text} to \idx{titlecase}}, + topics={formattingcommands,casecommands}, + note={\bibgls\texparserdefnote}, category={command} } -@dualindexentry{bibglsfirstuc, +@bibglscommand{bibglsfirstuc, name={\csfmt{bib\-gls\-first\-uc}}, user1={\margm{text}}, description={converts the first letter of \meta{text} to \idx{uppercase}}, + topics={formattingcommands,casecommands}, + note={\bibgls}, category={command} } -@dualindexentry{glsexpandfields, +@mainglscommand{glsexpandfields, name={\csfmt{gls\-expand\-fields}}, user1={}, description={switches on field expansion}, + topics={assigncommands,definingterms}, note={\styfmt{glossaries}}, category={command} } -@dualindexentry{glsnoexpandfields, +@mainglscommand{glsnoexpandfields, name={\csfmt{gls\-no\-expand\-fields}}, user1={}, description={switches off field expansion}, + topics={assigncommands,definingterms}, note={\styfmt{glossaries}}, category={command} } -@dualindexentry{glssetexpandfield, +@mainglscommand{glssetexpandfield, name={\csfmt{gls\-set\-expand\-field}}, user1={\margm{field}}, description={switches on field expansion for the given field}, + topics={assigncommands,definingterms}, note={\styfmt{glossaries}}, category={command} } -@dualindexentry{glssetnoexpandfield, +@mainglscommand{glssetnoexpandfield, name={\csfmt{gls\-set\-no\-expand\-field}}, user1={\margm{field}}, description={switches off field expansion for the given field}, + topics={assigncommands,definingterms}, note={\styfmt{glossaries}}, category={command} } -@dualindexentry{newglossaryentry, +@mainglscommand{newglossaryentry, name={\csfmt{new\-glossary\-entry}}, user1={\margm{label}\margm{\keyvallist}}, description={defines a new glossary entry}, + topics={definingterms}, note={\styfmt{glossaries}}, category={command} } -@dualindexentry{longnewglossaryentry, +@mainglscommand{longnewglossaryentry, name={\csfmt{long\-new\-glossary\-entry}}, user1={\margm{label}\margm{\keyvallist}\margm{description}}, description={defines a new glossary entry and appends \csfmt{leavemode}\csfmt{unskip}\cs{nopostdesc} at the end of \meta{description}}, + topics={definingterms}, note={\styfmt{glossaries}}, category={command} } -@index{longnewglossaryentry*, +@glscommand{longnewglossaryentry*, name={\csfmt{long\-new\-glossary\-entry*}}, user1={\margm{label}\margm{\keyvallist}\margm{description}}, description={defines a new glossary entry without appending any extra code to the end of \meta{description}}, + topics={definingterms}, note={\styfmt{glossaries-extra} v1.12+}, category={command} } -@dualindexentry{provideglossaryentry, +@mainglscommand{provideglossaryentry, name={\csfmt{provide\-glossary\-entry}}, user1={\margm{label}\margm{\keyvallist}}, description={defines a new glossary entry if one doesn't already exist with the given label}, + topics={definingterms}, note={\styfmt{glossaries}}, category={command} } -@dualindexentry{longprovideglossaryentry, +@mainglscommand{longprovideglossaryentry, name={\csfmt{long\-provide\-glossary\-entry}}, user1={\margm{label}\margm{\keyvallist}\margm{description}}, description={defines a new glossary entry if one doesn't already exist with the given label}, + topics={definingterms}, note={\styfmt{glossaries}}, category={command} } -@dualindexentry{newterm, +@mainglscommand{newterm, name={\csfmt{new\-term}}, user1={\oargm{\keyvallist}\margm{label}}, description={defines a new glossary entry where the \field{description} field defaults to empty}, - note={the \styfmt{glossaries}'s \styopt{index} package -option}, + topics={definingterms}, + note={\styfmt{glossaries}'s \styopt{index} package option}, category={command} } -@dualindexentry{newabbreviation, +@mainglscommand{newabbreviation, name={\csfmt{new\-abbre\-vi\-a\-tion}}, user1={\oargm{\keyvallist}\margm{label}\margm{short}\margm{long}}, description={defines a new abbreviation}, + topics={definingterms}, note={\styfmt{glossaries-extra}}, category={command} } -@dualindexentry{newacronym, +@mainglscommand{newacronym, name={\csfmt{new\-acronym}}, user1={\oargm{\keyvallist}\margm{label}\margm{short}\margm{long}}, description={defines a new abbreviation. The \styfmt{glossaries-extra} package redefines this to use \csref{newabbreviation} with the \field{category} set to \code{acronym}}, + topics={definingterms}, note={\styfmt{glossaries}}, category={command} } -@dualindexentry{glsxtrnewsymbol, +@mainglscommand{glsxtrnewsymbol, name={\csfmt{gls\-xtr\-new\-symbol}}, user1={\oargm{\keyvallist}\margm{label}\margm{symbol}}, description={defines a new symbol}, + topics={definingterms}, note={\styfmt{glossaries-extra} \styopt{symbols}}, category={command} } -@dualindexentry{glsxtrnewnumber, +@mainglscommand{glsxtrnewnumber, name={\csfmt{gls\-xtr\-new\-number}}, user1={\oargm{\keyvallist}\margm{label}}, description={defines a new number}, + topics={definingterms}, note={\styfmt{glossaries-extra} \styopt{numbers}}, category={command} } -@dualindexentry{newdualentry, +@mainglscommand{newdualentry, name={\csfmt{new\-dual\-entry}}, user1={\oargm{\keyvallist}\margm{label}\margm{short}\margm{long}\margm{description}}, description={example given in \styfmt{glossaries} user manual}, + topics={definingterms}, category={command} } -@dualindexentry{@gls@hypergroup, +@mainglscommand{@gls@hypergroup, name={\csfmt{@gls@hypergroup}}, user1={\margm{type}\margm{group id}}, description={command written to the \ext{aux} file that identifies that the given group was used in the glossary on the previous run}, + topics={groupcommands,internalcommands,auxcommands}, note={\styfmt{glossary-hypernav}}, category={command} } -@dualindexentry{glsxtr@resource, +@mainglscommand{glsxtr@resource, name={\csfmt{glsxtr@resource}}, user1={\margm{options}\margm{filename}}, description={this internal command is written to the \ext{aux} file by \csref{glsxtrresourcefile} to provide \bibgls\ with the resource information}, + topics={internalcommands,auxcommands}, note={\styfmt{glossaries-extra} v1.08+}, category={command} } -@dualindexentry{glsxtr@wrglossarylocation, +@mainglscommand{glsxtr@wrglossarylocation, name={\csfmt{gls\-xtr\-@wr\-glossary\-location}}, user1={\margm{n}\margm{page}}, description={This command simply expands to \meta{n}, the value of the \counter{wrglossary} counter for the given page}, + topics={internalcommands,loclistcommands}, note={\styfmt{glossaries-extra-bib2gls} v1.29+}, category={command} } -@dualindexentry{GlsXtrIndexCounterLink, +@mainglscommand{GlsXtrIndexCounterLink, name={\csfmt{Gls\-Xtr\-Index\-Counter\-Link}}, user1={\margm{text}\margm{label}}, description={Creates a hyperlink to the \counter{wrglossary} location obtained from the \field{indexcounter} field}, + topics={linkcommands,loclistcommands}, note={\styfmt{glossaries-extra-bib2gls} v1.29+}, category={command} } -@dualindexentry{GlsXtrDualBackLink, +@mainglscommand{GlsXtrDualBackLink, name={\csfmt{Gls\-Xtr\-Dual\-Back\-Link}}, user1={\margm{text}\margm{label}}, description={Creates a hyperlink to the dual entry whose label is obtained from the field given by \csref{GlsXtrDualField}}, + topics={linkcommands,fieldrefcommands}, note={\styfmt{glossaries-extra-bib2gls} v1.30+}, category={command} } -@dualindexentry{GlsXtrDualField, +@mainglscommand{GlsXtrDualField, name={\csfmt{Gls\-Xtr\-Dual\-Field}}, user1={}, description={The field used to store the dual label. This defaults to \field{dual} but will need to be redefined if a different value is given by \csopt{dual-field}}, + topics={fieldrefcommands}, note={\styfmt{glossaries-extra-bib2gls} v1.30+}, category={command} } -@dualindexentry{glsxtrfmt, +@mainglscommand{glsxtrfmt, name={\csfmt{gls\-xtr\-fmt}}, user1={\oargm{options}\margm{label}\margm{text}}, description={formats the given text according to the formatting command identified by the value of the field obtained from \cs{GlsXtrFmtField}}, + topics={fieldrefcommands,linkcommands,formattingcommands}, note={\styfmt{glossaries-extra} v1.12+}, + seealso={glsxtrfmtdisplay}, category={command} } -@dualindexentry{glsxtrfmt*, +@mainglscommand{glsxtrfmt*, name={\csfmt{gls\-xtr\-fmt*}}, user1={\oargm{options}\margm{label}\margm{text}\oargm{insert}}, description={like \csref{glsxtrfmt} but inserts extra material into the link text but outside of the formatting command}, + topics={fieldrefcommands,linkcommands,formattingcommands}, + seealso={glsxtrfmtdisplay}, note={\styfmt{glossaries-extra} v1.23+}, category={command} } -@dualindexentry{glsxtrentryfmt, +@mainglscommand{glsxtrentryfmt, name={\csfmt{gls\-xtr\-entry\-fmt}}, user1={\margm{label}\margm{text}}, description={alternative to \csref{glsxtrfmt} for use in section headings}, + topics={fieldrefcommands,formattingcommands}, note={\styfmt{glossaries-extra} v1.12+}, category={command} } -@index{glsxtrfmtdisplay, +@glscommand{glsxtrfmtdisplay, name={\csfmt{gls\-xtr\-fmt\-display}}, user1={\margm{cs-name}\margm{text}\margm{insert}}, description={used by \csref{glsxtrfmt} to format the given @@ -1153,15 +1804,17 @@ location obtained from the \field{indexcounter} field}, identified by \cs{GlsXtrFmtField} and \meta{insert} is empty for the unstarred \csref{glsxtrfmt} and the final optional argument of the starred version \csref{glsxtrfmt*}}, + topics={formattingcommands}, note={\styfmt{glossaries-extra}}, category={command} } -@dualindexentry{glsxtrresourcefile, +@mainglscommand{glsxtrresourcefile, name={\csfmt{gls\-xtr\-resource\-file}}, user1={\oargm{options}\margm{filename}}, description={input the \ext{glstex} file created by \bibgls\ and write resource instructions to the \ext{aux} file}, + topics={indexing}, note={\styfmt{glossaries-extra} v1.08+}, seealso={resourceoptions,GlsXtrLoadResources}, category={command} @@ -1173,336 +1826,350 @@ starred version \csref{glsxtrfmt*}}, text={resource option} } -@dualindexentry{opt.charset, +@resourceoption{opt.charset, name={\csoptfmt{charset}}, user1={\meta{encoding-name}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.interpret-preamble, +@resourceoption{opt.interpret-preamble, name={\csoptfmt{interpret\dhyphen preamble}}, user1={\meta{boolean}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.interpret-label-fields, +@resourceoption{opt.interpret-label-fields, name={\csoptfmt{interpret\dhyphen label\dhyphen fields}}, user1={\meta{boolean}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.primary-dual-dependency, +@resourceoption{opt.primary-dual-dependency, name={\csoptfmt{primary\dhyphen dual\dhyphen dependency}}, user1={\meta{boolean}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.strip-missing-parents, +@resourceoption{opt.strip-missing-parents, name={\csoptfmt{strip\dhyphen missing\dhyphen parents}}, user1={\meta{boolean}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.missing-parents, +@resourceoption{opt.missing-parents, name={\csoptfmt{missing\dhyphen parents}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.missing-parent-category, +@resourceoption{opt.missing-parent-category, name={\csoptfmt{missing\dhyphen parent\dhyphen category}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.copy-alias-to-see, +@resourceoption{opt.copy-alias-to-see, name={\csoptfmt{copy\dhyphen alias\dhyphen to\dhyphen see}}, user1={\meta{boolean}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.write-preamble, +@resourceoption{opt.write-preamble, name={\csoptfmt{write\dhyphen preamble}}, user1={\meta{boolean}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.set-widest, +@resourceoption{opt.set-widest, name={\csoptfmt{set\dhyphen widest}}, user1={\meta{boolean}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.duplicate-label-suffix, +@resourceoption{opt.duplicate-label-suffix, name={\csoptfmt{duplicate\dhyphen label\dhyphen suffix}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.entry-type-aliases, +@resourceoption{opt.entry-type-aliases, name={\csoptfmt{entry\dhyphen type\dhyphen aliases}}, user1={\meta{\keyvallist}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.field-aliases, +@resourceoption{opt.unknown-entry-alias, + name={\csoptfmt{unknown\dhyphen entry\dhyphen alias}}, + user1={\meta{value}}, + category={resourceoption}, + parent={resourceoptions} +} + +@resourceoption{opt.field-aliases, name={\csoptfmt{field\dhyphen aliases}}, user1={\meta{\keyvallist}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.replicate-fields, +@resourceoption{opt.replicate-fields, name={\csoptfmt{replicate\dhyphen fields}}, user1={\meta{\keyvallist}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.replicate-override, +@resourceoption{opt.replicate-override, name={\csoptfmt{replicate\dhyphen override}}, user1={\margm{boolean}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.labelify, +@resourceoption{opt.replicate-missing-field-action, + name={\csoptfmt{replicate\dhyphen missing\dhyphen field\dhyphen action}}, + user1={\margm{value}}, + category={resourceoption}, + parent={resourceoptions} +} + +@resourceoption{opt.labelify, name={\csoptfmt{labelify}}, user1={\meta{list}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.labelify-list, +@resourceoption{opt.labelify-list, name={\csoptfmt{labelify\dhyphen list}}, user1={\meta{list}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dependency-fields, +@resourceoption{opt.dependency-fields, name={\csoptfmt{dependency\dhyphen fields}}, user1={\meta{list}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.labelify-replace, +@resourceoption{opt.labelify-replace, name={\csoptfmt{labelify\dhyphen replace}}, user1={\meta{list}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.sort-replace, +@resourceoption{opt.sort-replace, name={\csoptfmt{sort\dhyphen replace}}, user1={\meta{list}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-sort-replace, +@resourceoption{opt.dual-sort-replace, name={\csoptfmt{dual\dhyphen sort\dhyphen replace}}, user1={\meta{list}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.secondary-sort-replace, +@resourceoption{opt.secondary-sort-replace, name={\csoptfmt{secondary\dhyphen sort\dhyphen replace}}, user1={\meta{list}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.action, +@resourceoption{opt.action, name={\csoptfmt{action}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.copy-action-group-field, +@resourceoption{opt.copy-action-group-field, name={\csoptfmt{copy\dhyphen action\dhyphen group\dhyphen field}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.src, +@resourceoption{opt.src, name={\csoptfmt{src}}, user1={\meta{list}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.selection, +@resourceoption{opt.selection, name={\csoptfmt{selection}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.match, +@resourceoption{opt.match, name={\csoptfmt{match}}, user1={\meta{\keyvallist}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.match-op, +@resourceoption{opt.match-op, name={\csoptfmt{match\dhyphen op}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.match-action, +@resourceoption{opt.match-action, name={\csoptfmt{match\dhyphen action}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.not-match, +@resourceoption{opt.not-match, name={\csoptfmt{not\dhyphen match}}, user1={\meta{\keyvallist}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.limit, +@resourceoption{opt.limit, name={\csoptfmt{limit}}, user1={\meta{number}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.flatten, +@resourceoption{opt.flatten, name={\csoptfmt{flatten}}, user1={\meta{boolean}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.flatten-lonely, +@resourceoption{opt.flatten-lonely, name={\csoptfmt{flatten\dhyphen lonely}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.flatten-lonely-rule, +@resourceoption{opt.flatten-lonely-rule, name={\csoptfmt{flatten\dhyphen lonely\dhyphen rule}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.master, +@resourceoption{opt.master, name={\csoptfmt{master}}, user1={\meta{name}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.master-resources, +@resourceoption{opt.master-resources, name={\csoptfmt{master\dhyphen resources}}, user1={\meta{list}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.ignore-fields, +@resourceoption{opt.ignore-fields, name={\csoptfmt{ignore\dhyphen fields}}, user1={\meta{list}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.date-time-fields, +@resourceoption{opt.date-time-fields, name={\csoptfmt{date\dhyphen time\dhyphen fields}}, user1={\meta{list}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.date-fields, +@resourceoption{opt.date-fields, name={\csoptfmt{date\dhyphen fields}}, user1={\meta{list}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.time-fields, +@resourceoption{opt.time-fields, name={\csoptfmt{time\dhyphen fields}}, user1={\meta{list}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.date-time-field-format, +@resourceoption{opt.date-time-field-format, name={\csoptfmt{date\dhyphen time\dhyphen field\dhyphen format}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-date-time-field-format, +@resourceoption{opt.dual-date-time-field-format, name={\csoptfmt{dual\dhyphen date\dhyphen time\dhyphen field\dhyphen format}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.date-field-format, +@resourceoption{opt.date-field-format, name={\csoptfmt{date\dhyphen field\dhyphen format}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-date-field-format, +@resourceoption{opt.dual-date-field-format, name={\csoptfmt{dual\dhyphen date\dhyphen field\dhyphen format}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.time-field-format, +@resourceoption{opt.time-field-format, name={\csoptfmt{time\dhyphen field\dhyphen format}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-time-field-format, +@resourceoption{opt.dual-time-field-format, name={\csoptfmt{dual\dhyphen time\dhyphen field\dhyphen format}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.date-time-field-locale, +@resourceoption{opt.date-time-field-locale, name={\csoptfmt{date\dhyphen time\dhyphen field\dhyphen locale}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-date-time-field-locale, +@resourceoption{opt.dual-date-time-field-locale, name={\csoptfmt{dual\dhyphen date\dhyphen time\dhyphen field\dhyphen locale}}, user1={\meta{value}}, @@ -1510,588 +2177,665 @@ field\dhyphen locale}}, parent={resourceoptions} } -@dualindexentry{opt.date-field-locale, +@resourceoption{opt.date-field-locale, name={\csoptfmt{date\dhyphen field\dhyphen locale}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-date-field-locale, +@resourceoption{opt.dual-date-field-locale, name={\csoptfmt{dual\dhyphen date\dhyphen field\dhyphen locale}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.time-field-locale, +@resourceoption{opt.time-field-locale, name={\csoptfmt{time\dhyphen field\dhyphen locale}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-time-field-locale, +@resourceoption{opt.dual-time-field-locale, name={\csoptfmt{date\dhyphen time\dhyphen field\dhyphen locale}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.bibtex-contributor-fields, +@resourceoption{opt.bibtex-contributor-fields, name={\csoptfmt{bibtex\dhyphen contributor\dhyphen fields}}, user1={\meta{list}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.contributor-order, +@resourceoption{opt.contributor-order, name={\csoptfmt{contributor\dhyphen order}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.category, +@resourceoption{opt.category, name={\csoptfmt{category}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.type, +@resourceoption{opt.type, name={\csoptfmt{type}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.counter, +@resourceoption{opt.counter, name={\csoptfmt{counter}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.label-prefix, +@resourceoption{opt.label-prefix, name={\csoptfmt{label\dhyphen prefix}}, user1={\meta{tag}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.cs-label-prefix, +@resourceoption{opt.cs-label-prefix, name={\csoptfmt{cs\dhyphen label\dhyphen prefix}}, user1={\meta{tag}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.record-label-prefix, +@resourceoption{opt.record-label-prefix, name={\csoptfmt{record\dhyphen label\dhyphen prefix}}, user1={\meta{tag}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.ext-prefixes, +@resourceoption{opt.ext-prefixes, name={\csoptfmt{ext\dhyphen prefixes}}, user1={\meta{list}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.save-original-id, +@resourceoption{opt.save-original-id, name={\csoptfmt{save\dhyphen original\dhyphen id}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.short-case-change, +@resourceoption{opt.short-case-change, name={\csoptfmt{short\dhyphen case\dhyphen change}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.long-case-change, +@resourceoption{opt.long-case-change, name={\csoptfmt{long\dhyphen case\dhyphen change}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.name-case-change, +@resourceoption{opt.name-case-change, name={\csoptfmt{name\dhyphen case\dhyphen change}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.description-case-change, +@resourceoption{opt.description-case-change, name={\csoptfmt{description\dhyphen case\dhyphen change}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.word-boundaries, +@resourceoption{opt.field-case-change, + name={\csoptfmt{field\dhyphen case\dhyphen change}}, + user1={\margm{\keyvallist}}, + category={resourceoption}, + parent={resourceoptions} +} + +@resourceoption{opt.word-boundaries, name={\csoptfmt{word\dhyphen boundaries}}, user1={\meta{list}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.post-description-dot, +@resourceoption{opt.no-case-change-cs, + name={\csoptfmt{no\dhyphen case\dhyphen change\dhyphen cs}}, + user1={\meta{list}}, + category={resourceoption}, + parent={resourceoptions} +} + +@resourceoption{opt.encapsulate-fields, + name={\csoptfmt{encapsulate\dhyphen fields}}, + user1={\margm{\keyvallist}}, + category={resourceoption}, + parent={resourceoptions} +} + +@resourceoption{opt.encapsulate-fields*, + name={\csoptfmt{encapsulate\dhyphen fields*}}, + user1={\margm{\keyvallist}}, + category={resourceoption}, + parent={resourceoptions} +} + +@resourceoption{opt.interpret-fields, + name={\csoptfmt{interpret\dhyphen fields}}, + user1={\margm{list}}, + category={resourceoption}, + parent={resourceoptions} +} + +@resourceoption{opt.post-description-dot, name={\csoptfmt{post\dhyphen description\dhyphen dot}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.strip-trailing-nopost, +@resourceoption{opt.strip-trailing-nopost, name={\csoptfmt{strip\dhyphen trailing\dhyphen nopost}}, user1={\meta{boolean}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.check-end-punctuation, +@resourceoption{opt.check-end-punctuation, name={\csoptfmt{check\dhyphen end\dhyphen punctuation}}, user1={\meta{list}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.sort-label-list, +@resourceoption{opt.sort-label-list, name={\csoptfmt{sort\dhyphen label\dhyphen list}}, user1={\meta{list}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.group, +@resourceoption{opt.group, name={\csoptfmt{group}}, user1={\meta{label}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.group-formation, +@resourceoption{opt.group-formation, name={\csoptfmt{group\dhyphen formation}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.secondary-group-formation, +@resourceoption{opt.secondary-group-formation, name={\csoptfmt{secondary\dhyphen group\dhyphen formation}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-group-formation, +@resourceoption{opt.dual-group-formation, name={\csoptfmt{dual\dhyphen group\dhyphen formation}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.save-child-count, +@resourceoption{opt.save-child-count, name={\csoptfmt{save\dhyphen child\dhyphen count}}, user1={\meta{boolean}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.short-plural-suffix, +@resourceoption{opt.save-original-entrytype, + name={\csoptfmt{save\dhyphen original\dhyphen entrytype}}, + user1={\meta{boolean}}, + category={resourceoption}, + parent={resourceoptions} +} + +@resourceoption{opt.short-plural-suffix, name={\csoptfmt{short\dhyphen plural\dhyphen suffix}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-short-plural-suffix, +@resourceoption{opt.dual-short-plural-suffix, name={\csoptfmt{dual\dhyphen short\dhyphen plural\dhyphen suffix}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.save-locations, +@resourceoption{opt.save-locations, name={\csoptfmt{save\dhyphen locations}}, user1={\meta{boolean}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.save-loclist, +@resourceoption{opt.save-loclist, name={\csoptfmt{save\dhyphen loclist}}, user1={\meta{boolean}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.save-primary-locations, +@resourceoption{opt.save-primary-locations, name={\csoptfmt{save\dhyphen primary\dhyphen locations}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.primary-location-formats, +@resourceoption{opt.primary-location-formats, name={\csoptfmt{primary\dhyphen location\dhyphen formats}}, user1={\meta{list}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.min-loc-range, +@resourceoption{opt.min-loc-range, name={\csoptfmt{min\dhyphen loc\dhyphen range}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.max-loc-diff, +@resourceoption{opt.max-loc-diff, name={\csoptfmt{max\dhyphen loc\dhyphen diff}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.suffixF, +@resourceoption{opt.suffixF, name={\csoptfmt{suffixF}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.suffixFF, +@resourceoption{opt.suffixFF, name={\csoptfmt{suffixFF}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.see, +@resourceoption{opt.compact-ranges, + name={\csoptfmt{compact-ranges}}, + user1={\meta{value}}, + category={resourceoption}, + parent={resourceoptions} +} + +@resourceoption{opt.see, name={\csoptfmt{see}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.seealso, +@resourceoption{opt.seealso, name={\csoptfmt{seealso}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.alias, +@resourceoption{opt.alias, name={\csoptfmt{alias}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.alias-loc, +@resourceoption{opt.alias-loc, name={\csoptfmt{alias\dhyphen loc}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.loc-prefix, +@resourceoption{opt.loc-prefix, name={\csoptfmt{loc\dhyphen prefix}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.loc-suffix, +@resourceoption{opt.loc-suffix, name={\csoptfmt{loc\dhyphen suffix}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.loc-counters, +@resourceoption{opt.loc-counters, name={\csoptfmt{loc\dhyphen counters}}, user1={\meta{list}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.save-index-counter, +@resourceoption{opt.save-index-counter, name={\csoptfmt{save\dhyphen index\dhyphen counter}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.supplemental-locations, +@resourceoption{opt.supplemental-locations, name={\csoptfmt{supplemental\dhyphen locations}}, user1={\meta{basename}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.supplemental-selection, +@resourceoption{opt.supplemental-selection, name={\csoptfmt{supplemental\dhyphen selection}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.supplemental-category, +@resourceoption{opt.supplemental-category, name={\csoptfmt{supplemental\dhyphen category}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.sort, +@resourceoption{opt.sort, name={\csoptfmt{sort}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.shuffle, +@resourceoption{opt.shuffle, name={\csoptfmt{shuffle}}, user1={\meta{seed}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.sort-field, +@resourceoption{opt.sort-field, name={\csoptfmt{sort\dhyphen field}}, user1={\meta{field}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.symbol-sort-fallback, +@resourceoption{opt.entry-sort-fallback, + name={\csoptfmt{entry\dhyphen sort\dhyphen fallback}}, + user1={\meta{field}}, + category={resourceoption}, + parent={resourceoptions} +} + +@resourceoption{opt.symbol-sort-fallback, name={\csoptfmt{symbol\dhyphen sort\dhyphen fallback}}, user1={\meta{field}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.abbreviation-sort-fallback, +@resourceoption{opt.abbreviation-sort-fallback, name={\csoptfmt{abbreviation\dhyphen sort\dhyphen fallback}}, user1={\meta{field}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.abbreviation-name-fallback, +@resourceoption{opt.abbreviation-name-fallback, name={\csoptfmt{abbreviation\dhyphen name\dhyphen fallback}}, user1={\meta{field}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.bibtexentry-sort-fallback, +@resourceoption{opt.bibtexentry-sort-fallback, name={\csoptfmt{bibtexentry\dhyphen sort\dhyphen fallback}}, user1={\meta{field}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.trim-sort, +@resourceoption{opt.trim-sort, name={\csoptfmt{trim\dhyphen sort}}, user1={\meta{boolean}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.missing-sort-fallback, +@resourceoption{opt.missing-sort-fallback, name={\csoptfmt{missing\dhyphen sort\dhyphen fallback}}, user1={\meta{field}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-missing-sort-fallback, +@resourceoption{opt.dual-missing-sort-fallback, name={\csoptfmt{dual\dhyphen missing\dhyphen sort\dhyphen fallback}}, user1={\meta{field}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.secondary-missing-sort-fallback, +@resourceoption{opt.secondary-missing-sort-fallback, name={\csoptfmt{secondary\dhyphen missing\dhyphen sort\dhyphen fallback}}, user1={\meta{field}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.sort-rule, +@resourceoption{opt.sort-rule, name={\csoptfmt{sort\dhyphen rule}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.break-at, +@resourceoption{opt.break-at, name={\csoptfmt{break\dhyphen at}}, user1={\meta{option}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.break-marker, +@resourceoption{opt.break-marker, name={\csoptfmt{break\dhyphen marker}}, user1={\meta{marker}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.identical-sort-action, +@resourceoption{opt.identical-sort-action, name={\csoptfmt{identical\dhyphen sort\dhyphen action}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-identical-sort-action, +@resourceoption{opt.dual-identical-sort-action, name={\csoptfmt{dual\dhyphen identical\dhyphen sort\dhyphen action}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.secondary-identical-sort-action, +@resourceoption{opt.secondary-identical-sort-action, name={\csoptfmt{secondary\dhyphen identical\dhyphen sort\dhyphen action}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.sort-suffix, +@resourceoption{opt.sort-suffix, name={\csoptfmt{sort\dhyphen suffix}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.sort-suffix-marker, +@resourceoption{opt.sort-suffix-marker, name={\csoptfmt{sort\dhyphen suffix\dhyphen marker}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.strength, +@resourceoption{opt.strength, name={\csoptfmt{strength}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.decomposition, +@resourceoption{opt.decomposition, name={\csoptfmt{decomposition}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.letter-number-rule, +@resourceoption{opt.letter-number-rule, name={\csoptfmt{letter\dhyphen number\dhyphen rule}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.letter-number-punc-rule, +@resourceoption{opt.letter-number-punc-rule, name={\csoptfmt{letter\dhyphen number\dhyphen punc\dhyphen rule}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.numeric-sort-pattern, +@resourceoption{opt.numeric-sort-pattern, name={\csoptfmt{numeric\dhyphen sort\dhyphen pattern}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.numeric-locale, +@resourceoption{opt.numeric-locale, name={\csoptfmt{numeric\dhyphen locale}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.date-sort-locale, +@resourceoption{opt.date-sort-locale, name={\csoptfmt{date\dhyphen sort\dhyphen locale}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.date-sort-format, +@resourceoption{opt.date-sort-format, name={\csoptfmt{date\dhyphen sort\dhyphen format}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.trigger-type, +@resourceoption{opt.trigger-type, name={\csoptfmt{trigger\dhyphen type}}, user1={\meta{type}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.secondary, +@resourceoption{opt.progenitor-type, + name={\csoptfmt{progenitor\dhyphen type}}, + user1={\meta{type}}, + category={resourceoption}, + parent={resourceoptions} +} + +@resourceoption{opt.progeny-type, + name={\csoptfmt{progeny\dhyphen type}}, + user1={\meta{type}}, + category={resourceoption}, + parent={resourceoptions} +} + +@resourceoption{opt.adopted-parent-field, + name={\csoptfmt{adopted\dhyphen parent\dhyphen field}}, + user1={\meta{type}}, + category={resourceoption}, + parent={resourceoptions} +} + +@resourceoption{opt.secondary, name={\csoptfmt{secondary}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.secondary-trim-sort, +@resourceoption{opt.secondary-trim-sort, name={\csoptfmt{secondary\dhyphen trim\dhyphen sort}}, user1={\meta{boolean}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.secondary-sort-rule, +@resourceoption{opt.secondary-sort-rule, name={\csoptfmt{secondary\dhyphen sort\dhyphen rule}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.secondary-break-at, +@resourceoption{opt.secondary-break-at, name={\csoptfmt{secondary\dhyphen break\dhyphen at}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.secondary-break-marker, +@resourceoption{opt.secondary-break-marker, name={\csoptfmt{secondary\dhyphen break\dhyphen marker}}, user1={\meta{marker}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.secondary-sort-suffix, +@resourceoption{opt.secondary-sort-suffix, name={\csoptfmt{secondary\dhyphen sort\dhyphen suffix}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.secondary-sort-suffix-marker, +@resourceoption{opt.secondary-sort-suffix-marker, name={\csoptfmt{secondary\dhyphen sort\dhyphen suffix\dhyphen marker}}, user1={\meta{value}}, @@ -2099,21 +2843,21 @@ marker}}, parent={resourceoptions} } -@dualindexentry{opt.secondary-strength, +@resourceoption{opt.secondary-strength, name={\csoptfmt{secondary\dhyphen strength}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.secondary-decomposition, +@resourceoption{opt.secondary-decomposition, name={\csoptfmt{secondary\dhyphen decomposition}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.secondary-letter-number-rule, +@resourceoption{opt.secondary-letter-number-rule, name={\csoptfmt{secondary\dhyphen letter\dhyphen number\dhyphen rule}}, user1={\meta{value}}, @@ -2121,7 +2865,7 @@ rule}}, parent={resourceoptions} } -@dualindexentry{opt.secondary-letter-number-punc-rule, +@resourceoption{opt.secondary-letter-number-punc-rule, name={\csoptfmt{secondary\dhyphen letter\dhyphen number\dhyphen punc\dhyphen rule}}, user1={\meta{value}}, @@ -2129,7 +2873,7 @@ punc\dhyphen rule}}, parent={resourceoptions} } -@dualindexentry{opt.secondary-numeric-sort-pattern, +@resourceoption{opt.secondary-numeric-sort-pattern, name={\csoptfmt{secondary\dhyphen numeric\dhyphen sort\dhyphen pattern}}, user1={\meta{value}}, @@ -2137,14 +2881,14 @@ pattern}}, parent={resourceoptions} } -@dualindexentry{opt.secondary-numeric-locale, +@resourceoption{opt.secondary-numeric-locale, name={\csoptfmt{secondary\dhyphen numeric\dhyphen locale}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.secondary-date-sort-locale, +@resourceoption{opt.secondary-date-sort-locale, name={\csoptfmt{secondary\dhyphen date\dhyphen sort\dhyphen locale}}, user1={\meta{value}}, @@ -2152,7 +2896,7 @@ locale}}, parent={resourceoptions} } -@dualindexentry{opt.secondary-date-sort-format, +@resourceoption{opt.secondary-date-sort-format, name={\csoptfmt{secondary\dhyphen date\dhyphen sort\dhyphen format}}, user1={\meta{value}}, @@ -2160,147 +2904,147 @@ format}}, parent={resourceoptions} } -@dualindexentry{opt.dual-prefix, +@resourceoption{opt.dual-prefix, name={\csoptfmt{dual\dhyphen prefix}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.combine-dual-locations, +@resourceoption{opt.combine-dual-locations, name={\csoptfmt{combine\dhyphen dual\dhyphen locations}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-type, +@resourceoption{opt.dual-type, name={\csoptfmt{dual\dhyphen type}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-category, +@resourceoption{opt.dual-category, name={\csoptfmt{dual\dhyphen category}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-counter, +@resourceoption{opt.dual-counter, name={\csoptfmt{dual\dhyphen counter}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-short-case-change, +@resourceoption{opt.dual-short-case-change, name={\csoptfmt{dual\dhyphen short\dhyphen case\dhyphen change}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-long-case-change, +@resourceoption{opt.dual-long-case-change, name={\csoptfmt{dual\dhyphen long\dhyphen case\dhyphen change}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-field, +@resourceoption{opt.dual-field, name={\csoptfmt{dual\dhyphen field}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-sort, +@resourceoption{opt.dual-sort, name={\csoptfmt{dual\dhyphen sort}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-sort-field, +@resourceoption{opt.dual-sort-field, name={\csoptfmt{dual\dhyphen sort\dhyphen field}}, user1={\meta{field}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-trim-sort, +@resourceoption{opt.dual-trim-sort, name={\csoptfmt{dual\dhyphen trim\dhyphen sort}}, user1={\meta{boolean}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-sort-rule, +@resourceoption{opt.dual-sort-rule, name={\csoptfmt{dual\dhyphen sort\dhyphen rule}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-break-at, +@resourceoption{opt.dual-break-at, name={\csoptfmt{dual\dhyphen break\dhyphen at}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-break-marker, +@resourceoption{opt.dual-break-marker, name={\csoptfmt{dual\dhyphen break\dhyphen marker}}, user1={\meta{marker}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-sort-suffix, +@resourceoption{opt.dual-sort-suffix, name={\csoptfmt{dual\dhyphen sort\dhyphen suffix}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-sort-suffix-marker, +@resourceoption{opt.dual-sort-suffix-marker, name={\csoptfmt{dual\dhyphen sort\dhyphen suffix\dhyphen marker}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-strength, +@resourceoption{opt.dual-strength, name={\csoptfmt{dual\dhyphen strength}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-decomposition, +@resourceoption{opt.dual-decomposition, name={\csoptfmt{dual\dhyphen decomposition}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-letter-number-rule, +@resourceoption{opt.dual-letter-number-rule, name={\csoptfmt{dual\dhyphen letter\dhyphen number\dhyphen rule}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-letter-number-punc-rule, +@resourceoption{opt.dual-letter-number-punc-rule, name={\csoptfmt{dual\dhyphen letter\dhyphen number\dhyphen punc\dhyphen rule}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-numeric-sort-pattern, +@resourceoption{opt.dual-numeric-sort-pattern, name={\csoptfmt{dual\dhyphen numeric\dhyphen sort\dhyphen pattern}}, user1={\meta{value}}, @@ -2308,491 +3052,519 @@ pattern}}, parent={resourceoptions} } -@dualindexentry{opt.dual-numeric-locale, +@resourceoption{opt.dual-numeric-locale, name={\csoptfmt{dual\dhyphen numeric\dhyphen locale}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-date-sort-locale, +@resourceoption{opt.dual-date-sort-locale, name={\csoptfmt{dual\dhyphen date\dhyphen sort\dhyphen locale}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-date-sort-format, +@resourceoption{opt.dual-date-sort-format, name={\csoptfmt{dual\dhyphen date\dhyphen sort\dhyphen format}}, user1={\meta{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-entry-map, +@resourceoption{opt.dual-entry-map, name={\csoptfmt{dual\dhyphen entry\dhyphen map}}, user1={\marg{\margm{list1},\margm{list2}}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-abbrv-map, +@resourceoption{opt.dual-abbrv-map, name={\csoptfmt{dual\dhyphen abbrv\dhyphen map}}, user1={\marg{\margm{list1},\margm{list2}}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-abbrventry-map, +@resourceoption{opt.dual-abbrventry-map, name={\csoptfmt{dual\dhyphen abbrventry\dhyphen map}}, user1={\marg{\margm{list1},\margm{list2}}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-symbol-map, +@resourceoption{opt.dual-symbol-map, name={\csoptfmt{dual\dhyphen symbol\dhyphen map}}, user1={\marg{\margm{list1},\margm{list2}}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-indexentry-map, +@resourceoption{opt.dual-indexentry-map, name={\csoptfmt{dual\dhyphen indexentry\dhyphen map}}, user1={\marg{\margm{list1},\margm{list2}}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-indexsymbol-map, +@resourceoption{opt.dual-indexsymbol-map, name={\csoptfmt{dual\dhyphen indexsymbol\dhyphen map}}, user1={\marg{\margm{list1},\margm{list2}}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-indexabbrv-map, +@resourceoption{opt.dual-indexabbrv-map, name={\csoptfmt{dual\dhyphen indexabbrv\dhyphen map}}, user1={\marg{\margm{list1},\margm{list2}}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-entry-backlink, +@resourceoption{opt.dual-entry-backlink, name={\csoptfmt{dual\dhyphen entry\dhyphen backlink}}, user1={\margm{boolean}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-abbrv-backlink, +@resourceoption{opt.dual-abbrv-backlink, name={\csoptfmt{dual\dhyphen abbrv\dhyphen backlink}}, user1={\margm{boolean}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-entryabbrv-backlink, +@resourceoption{opt.dual-entryabbrv-backlink, name={\csoptfmt{dual\dhyphen entryabbrv\dhyphen backlink}}, user1={\margm{boolean}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-abbrventry-backlink, +@resourceoption{opt.dual-abbrventry-backlink, name={\csoptfmt{dual\dhyphen abbrventry\dhyphen backlink}}, user1={\margm{boolean}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-symbol-backlink, +@resourceoption{opt.dual-symbol-backlink, name={\csoptfmt{dual\dhyphen symbol\dhyphen backlink}}, user1={\margm{boolean}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-indexentry-backlink, +@resourceoption{opt.dual-indexentry-backlink, name={\csoptfmt{dual\dhyphen indexentry\dhyphen backlink}}, user1={\margm{boolean}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-indexsymbol-backlink, +@resourceoption{opt.dual-indexsymbol-backlink, name={\csoptfmt{dual\dhyphen indexsymbol\dhyphen backlink}}, user1={\margm{boolean}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-indexabbrv-backlink, +@resourceoption{opt.dual-indexabbrv-backlink, name={\csoptfmt{dual\dhyphen indexabbrv\dhyphen backlink}}, user1={\margm{boolean}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-backlink, +@resourceoption{opt.dual-backlink, name={\csoptfmt{dual\dhyphen backlink}}, user1={\margm{boolean}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.tertiary-prefix, +@resourceoption{opt.tertiary-prefix, name={\csoptfmt{tertiary\dhyphen prefix}}, user1={\margm{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.tertiary-type, +@resourceoption{opt.tertiary-type, name={\csoptfmt{tertiary\dhyphen type}}, user1={\margm{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.tertiary-category, +@resourceoption{opt.tertiary-category, name={\csoptfmt{tertiary\dhyphen category}}, user1={\margm{value}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.sort-number-pad, +@resourceoption{opt.sort-number-pad, name={\csoptfmt{sort\dhyphen number\dhyphen pad}}, user1={\meta{number}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-sort-number-pad, +@resourceoption{opt.dual-sort-number-pad, name={\csoptfmt{dual\dhyphen sort\dhyphen number\dhyphen pad}}, user1={\meta{number}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.secondary-sort-number-pad, +@resourceoption{opt.secondary-sort-number-pad, name={\csoptfmt{secondary\dhyphen sort\dhyphen number\dhyphen pad}}, user1={\meta{number}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.sort-pad-plus, +@resourceoption{opt.sort-pad-plus, name={\csoptfmt{sort\dhyphen pad\dhyphen plus}}, user1={\meta{marker}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-sort-pad-plus, +@resourceoption{opt.dual-sort-pad-plus, name={\csoptfmt{dual\dhyphen sort\dhyphen pad\dhyphen plus}}, user1={\meta{marker}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.secondary-sort-pad-plus, +@resourceoption{opt.secondary-sort-pad-plus, name={\csoptfmt{secondary\dhyphen sort\dhyphen pad\dhyphen plus}}, user1={\meta{marker}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.sort-pad-minus, +@resourceoption{opt.sort-pad-minus, name={\csoptfmt{sort\dhyphen pad\dhyphen minus}}, user1={\meta{marker}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.dual-sort-pad-minus, +@resourceoption{opt.dual-sort-pad-minus, name={\csoptfmt{dual\dhyphen sort\dhyphen pad\dhyphen minus}}, user1={\meta{marker}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{opt.secondary-sort-pad-minus, +@resourceoption{opt.secondary-sort-pad-minus, name={\csoptfmt{secondary\dhyphen sort\dhyphen pad\dhyphen minus}}, user1={\meta{marker}}, category={resourceoption}, parent={resourceoptions} } -@dualindexentry{GlsXtrLoadResources, +@mainglscommand{GlsXtrLoadResources, name={\csfmt{Gls\-Xtr\-Load\-Resources}}, user1={\oargm{options}}, description={a shortcut command that uses \csref{glsxtrresourcefile}}, + topics={indexing,shortcutcommands}, note={\styfmt{glossaries-extra} v1.11+}, seealso={resourceoptions,glsxtrresourcefile}, category={command} } -@dualindexentry{glsxtrcopytoglossary, +@mainglscommand{glsxtrcopytoglossary, name={\csfmt{gls\-xtr\-copy\-to\-glossary}}, user1={\margm{label}\margm{type}}, description={copies the entry given by \meta{label} to the glossary given by \meta{type}}, + topics={assigncommands,definingterms}, note={\styfmt{glossaries-extra} v1.12+}, category={command} } -@dualindexentry{glsxtrnewglslike, +@mainglscommand{glsxtrnewglslike, name={\csfmt{gls\-xtr\-new\-gls\-like}}, user1={\oargm{options}\margm{prefix}\margm{gls-like cs}\margm{glspl-like cs}\margm{Gls-like cs}\margm{Glspl-like cs}}, description={defines commands to behave like \ics{gls}, \ics{glspl}, \ics{Gls} and \ics{Glspl} with the given label prefix}, + topics={entryrefcommands,providingcommands}, note={\styfmt{glossaries-extra} v1.21+}, seealso={glsxtrnewgls}, category={command} } -@dualindexentry{glsxtrnewgls, +@mainglscommand{glsxtrnewgls, name={\csfmt{gls\-xtr\-new\-gls}}, user1={\oargm{options}\margm{prefix}\margm{cs}}, description={defines the command \meta{cs} to behave like \ics{gls} with the given label prefix}, + topics={entryrefcommands,providingcommands}, note={\styfmt{glossaries-extra} v1.21+}, seealso={gls}, category={command} } -@dualindexentry{glsnoidxdisplayloc, +@mainglscommand{glsnoidxdisplayloc, name={\csfmt{gls\-no\-idx\-display\-loc}}, user1={\margm{prefix}\margm{counter}\margm{format}\margm{location}}, description={used to display a regular location in the - \field{location} field}, + \field{location} field (with a hyperlink, if enabled)}, + topics={loclistcommands,linkcommands}, note={\styfmt{glossaries} v4.04+}, category={command} } -@dualindexentry{glsxtrdisplaylocnameref, +@mainglscommand{glsxtrdisplaylocnameref, name={\csfmt{gls\-xtr\-display\-loc\-name\-ref}}, user1={\margm{prefix}\margm{counter}\margm{format}\margm{location}\margm{title}\margm{href}\margm{hcounter}\margm{file}}, description={used to display a \code{nameref} location in the - \field{location} field}, + \field{location} field (with a hyperlink, if enabled)}, + topics={loclistcommands,linkcommands}, note={\styfmt{glossaries-extra-bib2gls} v1.37+}, category={command} } -@dualindexentry{glsxtrdisplaysupploc, +@mainglscommand{glsxtrdisplaysupploc, name={\csfmt{gls\-xtr\-display\-supp\-loc}}, user1={\margm{prefix}\margm{counter}\margm{format}\margm{src}\margm{location}}, description={used to display an external location in the - supplementary list}, + supplementary list (with a hyperlink, if enabled)}, + topics={loclistcommands,linkcommands,supplementalrefs}, note={\styfmt{glossaries-extra-bib2gls} v1.36+}, category={command} } -@dualindexentry{glsxtrmultisupplocation, +@mainglscommand{glsxtrmultisupplocation, name={\csfmt{gls\-xtr\-multi\-supp\-location}}, user1={\margm{location}\margm{src}\margm{format}}, description={used by \csref{glsxtrdisplaysupploc} to format the - external location}, + external location (with a hyperlink, if enabled)}, + topics={loclistcommands,linkcommands,formattingcommands,supplementalrefs}, note={\styfmt{glossaries-extra-bib2gls} v1.36+}, category={command} } -@index{glsxtrsupplocationurl, +@glscommand{glsxtrsupplocationurl, name={\csfmt{gls\-xtr\-supp\-loc\-a\-tion\-url}}, description={set by \cs{glsxtrsupphypernumber} and \csref{glsxtrmultisupplocation} to the URL of the supplemental document for use by \cs{glshypernumber}}, + topics={loclistcommands,supplementalrefs}, note={\styfmt{glossaries-extra} v1.14+}, seealso={glshypernumber,glsxtrsupphypernumber,glsxtrmultisupplocation,glsxtrlocationhyperlink}, category={command} } -@index{glsxtrlocationhyperlink, +@glscommand{glsxtrlocationhyperlink, name={\csfmt{gls\-xtr\-loc\-a\-tion\-hyper\-link}}, user1={\margm{counter}\margm{prefix}\margm{location}}, description={used to create the location hyperlink, this tests if an internal or external link is required depending on the definition of \cs{glsxtrsupplocationurl}}, + topics={loclistcommands,linkcommands,supplementalrefs}, note={\styfmt{glossaries-extra} v1.14+}, seealso={glsxtrsupphypernumber,glsxtrsupplocationurl}, category={command} } -@index{glsxtrsupphypernumber, +@glscommand{glsxtrsupphypernumber, name={\csfmt{gls\-xtr\-supp\-hyper\-num\-ber}}, user1={\margm{location}}, description={uses \cs{glshypernumber} to create a hyperlink to the given location (if hyperlinks are supported) but first checks the \catattr{externallocation} attribute to determine if an external link is required}, + topics={loclistcommands,linkcommands,supplementalrefs}, note={\styfmt{glossaries-extra} v1.14+}, seealso={glsxtrlocationhyperlink,glsxtrsupplocationurl}, category={command} } -@dualindexentry{glsxtr@record, +@mainglscommand{glsxtr@record, name={\csfmt{glsxtr@record}}, user1={\margm{label}\margm{prefix}\margm{counter}\margm{format}\margm{location}}, description={this command is written to the \ext{aux} file each time an entry is indexed to provide \bibgls\ with the record information}, + topics={internalcommands,auxcommands,indexing}, note={\styfmt{glossaries-extra} v1.08+}, category={command} } -@dualindexentry{glsxtr@record@nameref, +@mainglscommand{glsxtr@record@nameref, name={\csfmt{glsxtr@record@name\-ref}}, user1={\margm{label}\margm{prefix}\margm{counter}\margm{format}\margm{location}\margm{title}\margm{href}\margm{hcounter}}, description={used instead of \csref{glsxtr@record} when the \styopt[nameref]{record} option is used}, + topics={internalcommands,auxcommands,indexing}, note={\styfmt{glossaries-extra} v1.37+}, category={command} } -@dualindexentry{glsxtrfieldlistadd, +@mainglscommand{glsxtrfieldlistadd, name={\csfmt{gls\-xtr\-field\-list\-add}}, user1={\margm{label}\margm{field}\margm{item}}, description={adds the given item to the given field that contains an \styfmt{etoolbox} internal list}, + topics={listcommands,assigncommands,fieldrefcommands}, note={\styfmt{glossaries-extra} v1.12+}, seealso={glsxtrfieldifinlist,glsxtrfieldforlistloop,glsxtrfielddolistloop}, category={command} } -@index{glsxtrfieldifinlist, +@glscommand{glsxtrfieldifinlist, name={\csfmt{gls\-xtr\-field\-if\-in\-list}}, user1={\margm{label}\margm{field}\margm{item}\margm{true}\margm{false}}, description={tests if the given item is in the given field that contains an \styfmt{etoolbox} internal list}, + topics={listcommands,conditionals,fieldrefcommands}, note={\styfmt{glossaries-extra} v1.12+}, seealso={glsxtrfieldxifinlist,glsxtrfieldlistadd,glsxtrfieldforlistloop,glsxtrfielddolistloop}, category={command} } -@index{glsxtrfieldxifinlist, +@glscommand{glsxtrfieldxifinlist, name={\csfmt{gls\-xtr\-field\-x\-if\-in\-list}}, user1={\margm{label}\margm{field}\margm{item}\margm{true}\margm{false}}, description={tests if the expansion of the given item is in the given field that contains an \styfmt{etoolbox} internal list}, + topics={listcommands,conditionals,fieldrefcommands}, note={\styfmt{glossaries-extra} v1.12+}, seealso={glsxtrfieldifinlist}, category={command} } -@index{glsxtrcontrolrules, +@glscommand{glsxtrcontrolrules, name={\csfmt{gls\-xtr\-control\-rules}}, user1={}, description={collation sub-rule for control characters usually placed at the start of a rule in the \qt{ignored characters} section (although there typically won't be any control codes in sort fields)}, + topics={collationsubrules}, note={\styfmt{glossaries-extra-bib2gls} v1.27+}, category={command} } -@index{glsxtrspacerules, +@glscommand{glsxtrspacerules, name={\csfmt{gls\-xtr\-space\-rules}}, user1={}, description={collation sub-rule for space characters}, + topics={collationsubrules}, note={\styfmt{glossaries-extra-bib2gls} v1.27+}, category={command} } -@index{glsxtrnonprintablerules, +@glscommand{glsxtrnonprintablerules, name={\csfmt{gls\-xtr\-non\-printable\-rules}}, user1={}, description={collation sub-rule for non-printable characters}, + topics={collationsubrules}, note={\styfmt{glossaries-extra-bib2gls} v1.27+}, category={command} } -@index{glsxtrcombiningdiacriticrules, +@glscommand{glsxtrcombiningdiacriticrules, name={\csfmt{gls\-xtr\-combining\-diacritic\-rules}}, user1={}, description={collation sub-rule for combining diacritic characters}, + topics={collationsubrules}, note={\styfmt{glossaries-extra-bib2gls} v1.27+}, category={command} } -@index{glsxtrhyphenrules, +@glscommand{glsxtrhyphenrules, name={\csfmt{gls\-xtr\-hyphen\-rules}}, user1={}, description={collation sub-rule for hyphen characters}, + topics={collationsubrules}, note={\styfmt{glossaries-extra-bib2gls} v1.27+}, category={command} } -@index{glsxtrgeneralpuncrules, +@glscommand{glsxtrgeneralpuncrules, name={\csfmt{gls\-xtr\-general\-punc\-rules}}, user1={}, description={collation sub-rule for general punctuation characters}, + topics={collationsubrules}, note={\styfmt{glossaries-extra-bib2gls} v1.27+}, category={command} } -@index{glsxtrdigitrules, +@glscommand{glsxtrdigitrules, name={\csfmt{gls\-xtr\-digit\-rules}}, user1={}, description={collation sub-rule for digits from the basic Latin set (0, \ldots, 9) as well as their subscript and superscript variants}, + topics={collationsubrules}, note={\styfmt{glossaries-extra-bib2gls} v1.27+}, category={command} } -@index{glsxtrfractionrules, +@glscommand{glsxtrfractionrules, name={\csfmt{gls\-xtr\-fraction\-rules}}, user1={}, description={collation sub-rule for vulgar fraction characters}, + topics={collationsubrules}, note={\styfmt{glossaries-extra-bib2gls} v1.27+}, category={command} } -@index{glsxtrMathItalicGreekIrules, +@glscommand{glsxtrMathItalicGreekIrules, name={\csfmt{gls\-xtr\-Math\-Italic\-Greek\-I\-rules}}, user1={}, description={collation sub-rule for math-Greek characters (includes upright digamma between epsilon and zeta)}, + topics={collationsubrules}, note={\styfmt{glossaries-extra-bib2gls} v1.27+}, category={command} } -@index{glsxtrGeneralLatinIrules, +@glscommand{glsxtrGeneralLatinIrules, name={\csfmt{gls\-xtr\-General\-Latin\-I\-rules}}, user1={}, description={collation sub-rule for Latin characters (basic Latin set plus subscript and superscript Latin characters)}, + topics={collationsubrules}, note={\styfmt{glossaries-extra-bib2gls} v1.27+}, seealso={glsxtrGeneralLatinIIrules,glsxtrGeneralLatinIIIrules,glsxtrGeneralLatinIVrules,glsxtrGeneralLatinVrules,glsxtrGeneralLatinVIrules,glsxtrGeneralLatinVIIrules,glsxtrGeneralLatinVIIIrules}, category={command} } -@index{glsxtrGeneralLatinIIrules, +@glscommand{glsxtrGeneralLatinIIrules, name={\csfmt{gls\-xtr\-General\-Latin\-II\-rules}}, user1={}, description={collation sub-rule for Latin characters (as \cs{glsxtrGeneralLatinIrules} but includes \DH/\dh\ between D/d and E/e and \ss\ treated as \qt{ss})}, + topics={collationsubrules}, note={\styfmt{glossaries-extra-bib2gls} v1.27+}, category={command} } -@index{glsxtrGeneralLatinIIIrules, +@glscommand{glsxtrGeneralLatinIIIrules, name={\csfmt{gls\-xtr\-General\-Latin\-III\-rules}}, user1={}, description={collation sub-rule for Latin characters (as \cs{glsxtrGeneralLatinIrules} but includes \DH/\dh\ between D/d and E/e and \ss\ treated as \qt{sz})}, + topics={collationsubrules}, note={\styfmt{glossaries-extra-bib2gls} v1.27+}, category={command} } -@index{glsxtrGeneralLatinIVrules, +@glscommand{glsxtrGeneralLatinIVrules, name={\csfmt{gls\-xtr\-General\-Latin\-IV\-rules}}, user1={}, description={collation sub-rule for Latin characters @@ -2800,132 +3572,197 @@ and \ss\ treated as \qt{sz})}, and E/e and \AE/\ae\ treated as AE/ae, \OE/\oe\ treated as OE/oe, \TH/\th\ treated as TH/th and \ss\ treated as \qt{ss})}, + topics={collationsubrules}, note={\styfmt{glossaries-extra-bib2gls} v1.27+}, category={command} } -@index{glsxtrGeneralLatinVrules, +@glscommand{glsxtrGeneralLatinVrules, name={\csfmt{gls\-xtr\-General\-Latin\-V\-rules}}, user1={}, description={collation sub-rule for Latin characters (as \cs{glsxtrGeneralLatinIrules} but includes \DH/\dh\ between D/d and E/e and \TH/\th\ treated as TH/th and \ss\ treated as \qt{ss})}, + topics={collationsubrules}, note={\styfmt{glossaries-extra-bib2gls} v1.27+}, category={command} } -@index{glsxtrGeneralLatinVIrules, +@glscommand{glsxtrGeneralLatinVIrules, name={\csfmt{gls\-xtr\-General\-Latin\-VI\-rules}}, user1={}, description={collation sub-rule for Latin characters (as \cs{glsxtrGeneralLatinIrules} but includes \DH/\dh\ between D/d and E/e and \TH/\th\ treated as TH/th and \ss\ treated as \qt{sz})}, + topics={collationsubrules}, note={\styfmt{glossaries-extra-bib2gls} v1.27+}, category={command} } -@index{glsxtrGeneralLatinVIIrules, +@glscommand{glsxtrGeneralLatinVIIrules, name={\csfmt{gls\-xtr\-General\-Latin\-VII\-rules}}, user1={}, - description={collation sub-rule for Latin characters -(as \cs{glsxtrGeneralLatinIrules} but includes \AE/\ae\ between A/a + description={collation sub-rule for Latin characters: +as \cs{glsxtrGeneralLatinIrules} but includes \AE/\ae\ between A/a and B/b, \DH/\dh\ between D/d and E/e, \insularG/\insularg\ (insular G) as G/g, \OE/\oe\ between O/o and P/p, \longs\ (long S) -equivalent to S/s, \TH/\th\ between T/t and U/u and \char"01F7/\char"01BF\ +equivalent to S/s, \TH/\th\ between T/t and U/u and \Wynn/\wynn\ (wynn) as W/w}, + topics={collationsubrules}, note={\styfmt{glossaries-extra-bib2gls} v1.27+}, category={command} } -@index{glsxtrGeneralLatinVIIIrules, +@glscommand{glsxtrGeneralLatinVIIIrules, name={\csfmt{gls\-xtr\-General\-Latin\-VIII\-rules}}, user1={}, - description={collation sub-rule for Latin characters -(as \cs{glsxtrGeneralLatinIrules} but includes \AE/\ae\ treated as + description={collation sub-rule for Latin characters: +as \cs{glsxtrGeneralLatinIrules} but includes \AE/\ae\ treated as A/a, \OE/\oe\ treated as OE/oe, \TH/\th\ treated as TH/th, \ss\ treated as \qt{ss}, \DH/\dh\ treated as D/d, \O/\o\ treated as O/o and \L/\l\ treated as L/l}, + topics={collationsubrules}, note={\styfmt{glossaries-extra-bib2gls} v1.27+}, category={command} } -@index{glsxtrLatinAA, +@glscommand{glsxtrLatinAA, name={\csfmt{gls\-xtr\-Latin\-AA}}, user1={}, description={collation sub-rule for \AA/\aa}, + topics={collationsubrules}, note={\styfmt{glossaries-extra-bib2gls} v1.27+}, category={command} } -@index{glsxtrLatinOslash, +@glscommand{glsxtrLatinOslash, name={\csfmt{gls\-xtr\-Latin\-O\-slash}}, user1={}, description={collation sub-rule for \O/\o}, + topics={collationsubrules}, note={\styfmt{glossaries-extra-bib2gls} v1.27+}, category={command} } -@index{alpha, +@command{alpha, name={\csfmt{alpha}}, user1={}, description={Greek letter alpha $\alpha$}, - note={kernel command (maths mode)}, + note={kernel command\texparserdefnote\ (maths mode)}, category={command} } -@index{pi, +@command{pi, name={\csfmt{pi}}, user1={}, description={Greek letter pi $\pi$}, - note={kernel command (maths mode)}, + note={kernel command\texparserdefnote\ (maths mode)}, + category={command} +} + +@command{sigma, + name={\csfmt{sigma}}, + user1={}, + description={Greek letter sigma $\sigma$}, + note={kernel command\texparserdefnote\ (maths mode)}, category={command} } -@index{omicron, +@glscommand{omicron, name={\csfmt{omicron}}, user1={}, description={Greek letter omicron $\omicron$}, - note={\styfmt{glossaries-extra-bib2gls}}, + topics={charcommands}, + note={\styfmt{glossaries-extra-bib2gls}\texparserdefnote}, category={command} } -@index{Alpha, +@glscommand{Alpha, name={\csfmt{Alpha}}, user1={}, description={Greek letter alpha $\Alpha$}, - note={\styfmt{glossaries-extra-bib2gls}}, + topics={charcommands}, + note={\styfmt{glossaries-extra-bib2gls}\texparserdefnote}, category={command} } -@index{approx, +@command{approx, name={\csfmt{approx}}, user1={}, description={approximate symbol $\approx$}, - note={kernel command (maths mode)}, + note={kernel command\texparserdefnote\ (maths mode)}, category={command} } -@index{surd, +@command{surd, name={\csfmt{surd}}, user1={}, description={surd symbol $\surd$}, - note={kernel command (maths mode)}, + note={kernel command\texparserdefnote\ (maths mode)}, category={command} } -@index{triangleright, +@command{triangleright, name={\csfmt{triangle\-right}}, user1={}, description={right-pointing triangle $\triangleright$}, - note={kernel command (maths mode)}, + note={kernel command\texparserdefnote\ (maths mode)}, + category={command} +} + +@command{vert, + name={\csfmt{vert}}, + user1={}, + description={vertical bar delimiter $\vert$}, + note={kernel command\texparserdefnote\ (maths mode)}, + category={command} +} + +@command{Vert, + name={\csfmt{Vert}}, + user1={}, + description={double vertical bar delimiter $\Vert$}, + note={kernel command\texparserdefnote\ (maths mode)}, + category={command} +} + +@command{lvert, + name={\csfmt{lvert}}, + user1={}, + description={left vertical bar delimiter $\lvert$}, + note={\styfmt{amsmath}\texparserdefnote\ (maths mode)}, + category={command} +} + +@command{rvert, + name={\csfmt{rvert}}, + user1={}, + description={right vertical bar delimiter $\rvert$}, + note={\styfmt{amsmath}\texparserdefnote\ (maths mode)}, + category={command} +} + +@command{lVert, + name={\csfmt{lVert}}, + user1={}, + description={left double vertical bar delimiter $\lVert$}, + note={\styfmt{amsmath}\texparserdefnote\ (maths mode)}, + category={command} +} + +@command{rVert, + name={\csfmt{rVert}}, + user1={}, + description={right double vertical bar delimiter $\rVert$}, + note={\styfmt{amsmath}\texparserdefnote\ (maths mode)}, category={command} } -@index{textstyle, +@command{textstyle, name={\csfmt{text\-style}}, user1={}, description={switch to in-line maths style (vertically compact)}, @@ -2933,7 +3770,7 @@ and \L/\l\ treated as L/l}, category={command} } -@index{displaystyle, +@command{displaystyle, name={\csfmt{display\-style}}, user1={}, description={switch to display maths style}, @@ -2941,133 +3778,133 @@ and \L/\l\ treated as L/l}, category={command} } -@dualindexentry{bigoperatornamefmt, +@examplecommand{bigoperatornamefmt, name={\csfmt{big\-operator\-name\-fmt}}, user1={\margm{text}}, description={example command}, category={command} } -@dualindexentry{nary, +@examplecommand{nary, name={\csfmt{nary}}, user1={\margm{text}}, description={example command}, category={command} } -@dualindexentry{strong, +@examplecommand{strong, name={\csfmt{strong}}, user1={\margm{text}}, description={example command}, category={command} } -@dualindexentry{parenswap, +@examplecommand{parenswap, name={\csfmt{parenswap}}, user1={\margm{text1}\margm{text2}}, description={example command}, category={command} } -@dualindexentry{sortop, +@examplecommand{sortop, name={\csfmt{sortop}}, user1={\margm{text1}\margm{text2}}, description={example command}, category={command} } -@dualindexentry{sortname, +@examplecommand{sortname, name={\csfmt{sortname}}, user1={\margm{first name(s)}\margm{surname}}, description={example command}, category={command} } -@dualindexentry{sortvonname, +@examplecommand{sortvonname, name={\csfmt{sort\-von\-name}}, user1={\margm{first name(s)}\margm{von}\margm{surname}}, description={example command}, category={command} } -@dualindexentry{sortart, +@examplecommand{sortart, name={\csfmt{sortart}}, user1={\margm{article}\margm{text}}, description={example command}, category={command} } -@dualindexentry{sortmediacreator, +@examplecommand{sortmediacreator, name={\csfmt{sort\-media\-creator}}, user1={\margm{first name(s)}\margm{surname}}, description={example command}, category={command} } -@dualindexentry{setfmt, +@examplecommand{setfmt, name={\csfmt{setfmt}}, user1={\margm{symbol}}, description={example command}, category={command} } -@dualindexentry{setcontentsfmt, +@examplecommand{setcontentsfmt, name={\csfmt{setcontentsfmt}}, user1={\margm{contents}}, description={example command}, category={command} } -@dualindexentry{setmembershipfmt, +@examplecommand{setmembershipfmt, name={\csfmt{setmembershipfmt}}, user1={\margm{variable(s)}\margm{condition}}, description={example command}, category={command} } -@dualindexentry{setmembershiponeargfmt, +@examplecommand{setmembershiponeargfmt, name={\csfmt{setmembershiponeargfmt}}, user1={\marg{\margm{variable(s)}\margm{condition}}}, description={example command}, category={command} } -@dualindexentry{setcardfmt, +@examplecommand{setcardfmt, name={\csfmt{setcardfmt}}, user1={\margm{maths}}, description={example command}, category={command} } -@dualindexentry{numspacefmt, +@examplecommand{numspacefmt, name={\csfmt{numspacefmt}}, user1={\margm{symbol}}, description={example command}, category={command} } -@dualindexentry{transposefmt, +@examplecommand{transposefmt, name={\csfmt{transposefmt}}, user1={\margm{maths}}, description={example command}, category={command} } -@dualindexentry{invfmt, +@examplecommand{invfmt, name={\csfmt{invfmt}}, user1={\margm{maths}}, description={example command}, category={command} } -@dualindexentry{vecfmt, +@examplecommand{vecfmt, name={\csfmt{vecfmt}}, user1={\margm{symbol}}, description={example command}, category={command} } -@dualindexentry{mtxfmt, +@examplecommand{mtxfmt, name={\csfmt{mtxfmt}}, user1={\margm{symbol}}, description={example command}, @@ -3079,79 +3916,79 @@ and \L/\l\ treated as L/l}, text={file format} } -@index{ext.tex, +@fileformat{ext.tex, name={\extfmt{tex}}, category={fileformat}, parent={fileformats} } -@index{ext.bib, +@fileformat{ext.bib, name={\extfmt{bib}}, category={fileformat}, parent={fileformats} } -@index{ext.aux, +@fileformat{ext.aux, name={\extfmt{aux}}, category={fileformat}, parent={fileformats} } -@index{ext.out, +@fileformat{ext.out, name={\extfmt{out}}, category={fileformat}, parent={fileformats} } -@index{ext.sh, +@fileformat{ext.sh, name={\extfmt{sh}}, category={fileformat}, parent={fileformats} } -@index{ext.bat, +@fileformat{ext.bat, name={\extfmt{bat}}, category={fileformat}, parent={fileformats} } -@index{ext.jar, +@fileformat{ext.jar, name={\extfmt{jar}}, category={fileformat}, parent={fileformats} } -@index{ext.glg, +@fileformat{ext.glg, name={\extfmt{glg}}, category={fileformat}, parent={fileformats} } -@index{ext.log, +@fileformat{ext.log, name={\extfmt{log}}, category={fileformat}, parent={fileformats} } -@index{ext.toc, +@fileformat{ext.toc, name={\extfmt{toc}}, category={fileformat}, parent={fileformats} } -@index{ext.glstex, +@fileformat{ext.glstex, name={\extfmt{glstex}}, category={fileformat}, parent={fileformats} } -@index{ext.gls, +@fileformat{ext.gls, name={\extfmt{gls}}, category={fileformat}, parent={fileformats} } -@index{ext.bbl, +@fileformat{ext.bbl, name={\extfmt{bbl}}, category={fileformat}, parent={fileformats} @@ -3162,55 +3999,55 @@ and \L/\l\ treated as L/l}, text={applications} } -@index{bibtex, +@application{bibtex, name={\appfmt{bibtex}}, category={application}, parent={applications} } -@index{biber, +@application{biber, name={\appfmt{biber}}, category={application}, parent={applications} } -@index{makeindex, +@application{makeindex, name={\appfmt{make\-index}}, category={application}, parent={applications} } -@index{xindy, +@application{xindy, name={\appfmt{xindy}}, category={application}, parent={applications} } -@index{makeglossaries, +@application{makeglossaries, name={\appfmt{make\-glos\-saries}}, category={application}, parent={applications} } -@index{makeglossaries-lite, +@application{makeglossaries-lite, name={\appfmt{make\-glos\-saries\dhyphen lite}}, category={application}, parent={applications} } -@index{kpsewhich, +@application{kpsewhich, name={\appfmt{kpsewhich}}, category={application}, parent={applications} } -@index{arara, +@application{arara, name={\appfmt{arara}}, category={application}, parent={applications} } -@index{convertgls2bib, +@application{convertgls2bib, name={\appfmt{convert\-gls2bib}}, category={application}, parent={applications} @@ -3221,634 +4058,663 @@ and \L/\l\ treated as L/l}, text={package} } -@index{glossaries, +@package{glossaries, name={\styfmt{glossaries}}, category={package}, parent={packages} } -@index{glossaries-extra, +@package{glossaries-extra, name={\styfmt{glossaries-extra}}, category={package}, parent={packages} } -@index{pifont, +@package{pifont, name={\styfmt{pifont}}, category={package}, parent={packages} } -@index{upgreek, +@package{upgreek, name={\styfmt{upgreek}}, category={package}, parent={packages} } -@index{xspace, +@package{xspace, name={\styfmt{xspace}}, category={package}, parent={packages} } -@index{fourier, +@package{fourier, name={\styfmt{fourier}}, category={package}, parent={packages} } -@index{lipsum, +@package{lipsum, name={\styfmt{lipsum}}, category={package}, parent={packages} } -@index{natbib, +@package{natbib, name={\styfmt{natbib}}, category={package}, parent={packages} } -@index{textcomp, +@package{textcomp, name={\styfmt{textcomp}}, category={package}, parent={packages} } -@index{MnSymbol, +@package{MnSymbol, name={\styfmt{MnSymbol}}, category={package}, parent={packages} } -@index{wasysym, +@package{wasysym, name={\styfmt{wasysym}}, category={package}, parent={packages} } -@index{amssymb, +@package{amssymb, name={\styfmt{amssymb}}, category={package}, parent={packages} } -@index{stix, +@package{stix, name={\styfmt{stix}}, category={package}, parent={packages} } -@index{mhchem, +@package{mhchem, name={\styfmt{mhchem}}, category={package}, parent={packages} } -@index{bpchem, +@package{bpchem, name={\styfmt{bpchem}}, category={package}, parent={packages} } -@index{siunitx, +@package{siunitx, name={\styfmt{siunitx}}, category={package}, parent={packages} } -@index{tipa, +@package{tipa, name={\styfmt{tipa}}, category={package}, parent={packages} } -@index{mfirstuc, +@package{mfirstuc, name={\styfmt{mfirstuc}}, category={package}, parent={packages} } -@index{mfirstuc-english, +@package{mfirstuc-english, name={\styfmt{mfirstuc-english}}, category={package}, parent={packages} } -@index{hyperref, +@package{hyperref, name={\styfmt{hyperref}}, category={package}, parent={packages} } -@index{glossary-hypernav, +@package{glossary-hypernav, name={\styfmt{glossary\dhyphen hypernav}}, category={package}, parent={packages} } -@index{glossaries-prefix, +@package{glossaries-prefix, name={\styfmt{glossaries\dhyphen prefix}}, category={package}, parent={packages} } -@index{glossaries-accsupp, +@package{glossaries-accsupp, name={\styfmt{glossaries\dhyphen accsupp}}, category={package}, parent={packages} } -@index{glossaries-extra-stylemods, +@package{glossaries-extra-stylemods, name={\styfmt{glossaries\dhyphen extra\dhyphen stylemods}}, category={package}, parent={packages} } -@index{glossaries-extra-bib2gls, +@package{glossaries-extra-bib2gls, name={\styfmt{glossaries\dhyphen extra\dhyphen bib2gls}}, category={package}, parent={packages} } -@index{glossary-list, +@package{glossary-list, name={\styfmt{glossary\dhyphen list}}, category={package}, parent={packages} } -@index{glossary-tree, +@package{glossary-tree, name={\styfmt{glossary\dhyphen tree}}, category={package}, parent={packages} } -@index{glossary-mcols, +@package{glossary-topic, + name={\styfmt{glossary\dhyphen topic}}, + category={package}, + parent={packages} +} + +@package{glossary-mcols, name={\styfmt{glossary\dhyphen mcols}}, category={package}, parent={packages} } -@index{glossary-long, +@package{glossary-long, name={\styfmt{glossary\dhyphen long}}, category={package}, parent={packages} } -@index{glossary-longbooktabs, - name={\styfmt{glossary\dhyphen longbooktabs}}, +@package{glossary-super, + name={\styfmt{glossary\dhyphen super}}, category={package}, parent={packages} } -@index{glossary-bookindex, - name={\styfmt{glossary\dhyphen bookindex}}, +@package{glossary-longbooktabs, + name={\styfmt{glossary\dhyphen longbooktabs}}, category={package}, parent={packages} } -@index{glossary-longextra, +@package{glossary-bookindex, + name={\styfmt{glossary\dhyphen bookindex}}, + category={package}, + parent={packages} +} + +@package{glossary-longextra, name={\styfmt{glossary\dhyphen longextra}}, category={package}, parent={packages} } -@index{booktabs, +@package{booktabs, name={\styfmt{booktabs}}, category={package}, parent={packages} } -@index{color, +@package{color, name={\styfmt{color}}, category={package}, parent={packages} } -@index{graphics, +@package{graphics, name={\styfmt{graphics}}, category={package}, parent={packages} } -@index{graphicx, +@package{graphicx, name={\styfmt{graphicx}}, category={package}, parent={packages} } -@index{ifthen, +@package{ifthen, name={\styfmt{ifthen}}, category={package}, parent={packages} } -@index{probsoln, +@package{probsoln, name={\styfmt{probsoln}}, category={package}, parent={packages} } -@index{shortvrb, +@package{shortvrb, name={\styfmt{shortvrb}}, category={package}, parent={packages} } -@index{jmlrutils, +@package{jmlrutils, name={\styfmt{jmlrutils}}, category={package}, parent={packages} } -@index{inputenc, +@package{inputenc, name={\styfmt{inputenc}}, category={package}, parent={packages} } -@index{fontenc, +@package{fontenc, name={\styfmt{fontenc}}, category={package}, parent={packages} } -@index{slantsc, +@package{slantsc, name={\styfmt{slantsc}}, category={package}, parent={packages} } -@index{babel, +@package{relsize, + name={\styfmt{relsize}}, + category={package}, + parent={packages} +} + +@package{babel, name={\styfmt{babel}}, category={package}, parent={packages} } -@index{polyglossia, +@package{polyglossia, name={\styfmt{polyglossia}}, category={package}, parent={packages} } -@index{fontspec, +@package{fontspec, name={\styfmt{fontspec}}, category={package}, parent={packages} } -@index{amsmath, +@package{amsmath, name={\styfmt{amsmath}}, category={package}, parent={packages} } -@index{textcase, +@package{textcase, name={\styfmt{textcase}}, category={package}, parent={packages} } -@index{datetime2, +@package{datetime2, name={\styfmt{datetime2}}, category={package}, parent={packages} } -@index{datatool-base, +@package{datatool-base, name={\styfmt{datatool\dhyphen base}}, category={package}, parent={packages} } -@index{datatool, +@package{datatool, name={\styfmt{datatool}}, category={package}, parent={packages} } -@index{etoolbox, +@package{etoolbox, name={\styfmt{etoolbox}}, category={package}, parent={packages} } -@index{soul, +@package{soul, name={\styfmt{soul}}, category={package}, parent={packages} } -@index{xcolor, +@package{xcolor, name={\styfmt{xcolor}}, category={package}, parent={packages} } -@index{tracklang, +@package{tracklang, name={\styfmt{tracklang}}, category={package}, parent={packages} } -@index{accsupp, +@package{accsupp, name={\styfmt{accsupp}}, category={package}, parent={packages} } -@index{stringconcat, +@symbol{stringconcat, name={\code{\#} (string concatenation)}, text={\code{\#}} } -@index{atchar, +@symbol{atchar, name={\code{@} (bib entry identifier)}, text={\code{@}} } -@index{param, +@specialchar{param, name={\code{\#} (parameter)}, text={\code{\#}} } -@index{hashchar, +@symbol{hashchar, name={\code{\#} (literal)}, text={\code{\#}} } -@index{cs.hash, +@command{cs.hash, name={\csfmt{\#}}, description={produces the hash symbol \#}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{colsep, +@specialchar{colsep, name={\code{\&} (alignment)}, text={\code{\&}} } -@index{ampchar, +@symbol{ampchar, name={\code{\&} (literal)}, text={\code{\&}} } -@index{cs.amp, +@command{cs.amp, name={\csfmt{\&}}, description={produces the ampersand symbol \&}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{bgroupchar, - name={\code{\{} (begin group)}, - text={\code{\{}} +@specialchar{bgroupchar, + name={\code{\glsopenbrace} (begin group)}, + text={\code{\glsopenbrace}} } -@index{openbracechar, - name={\code{\{} (literal)}, - text={\code{\{}} +@symbol{openbracechar, + name={\code{\glsopenbrace} (literal)}, + text={\code{\glsopenbrace}} } -@index{cs.openbrace, - name={\csfmt{\{}}, - description={produces the open brace symbol \{}, - note={kernel command}, +@command{cs.openbrace, + name={\csfmt{\glsopenbrace}}, + description={produces the open brace symbol \glsopenbrace}, + note={kernel command\texparserdefnote}, category={command} } -@index{egroupchar, - name={\code{\}} (end group)}, - text={\code{\}}} +@specialchar{egroupchar, + name={\code{\glsclosebrace} (end group)}, + text={\code{\glsclosebrace}} } -@index{closebracechar, - name={\code{\}} (literal)}, - text={\code{\}}} +@symbol{closebracechar, + name={\code{\glsclosebrace} (literal)}, + text={\code{\glsclosebrace}} } -@index{cs.closebrace, - name={\csfmt{\}}}, - description={produces the close brace symbol \}}, - note={kernel command}, +@command{cs.closebrace, + name={\csfmt{\glsclosebrace}}, + description={produces the close brace symbol \glsclosebrace}, + note={kernel command\texparserdefnote}, category={command} } -@index{commentchar, +@specialchar{commentchar, name={\code{\%} (comment)}, text={\code{\%}} } -@index{percentchar, +@symbol{percentchar, name={\code{\%} (literal)}, text={\code{\%}} } -@index{cs.percent, +@command{cs.percent, name={\csfmt{\%}}, description={produces the percent symbol \%}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{sbchar, +@specialchar{sbchar, name={\code{\_} (subscript)}, text={\code{\_}} } -@index{underscorechar, +@symbol{underscorechar, name={\code{\_} (literal)}, text={\code{\_}} } -@index{cs.underscore, +@command{cs.underscore, name={\csfmt{\_}}, description={produces the underscore symbol \_}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{spchar, +@specialchar{spchar, name={\code{\char`\^} (superscript)}, text={\code{\char`\^}} } -@index{circumchar, +@symbol{circumchar, name={\code{\char`\^} (literal)}, text={\code{\char`\^}} } -@index{cs.circum, +@command{cs.circum, name={\csfmt{\char`\^}}, user1={\margm{character}}, description={puts a circumflex accent over \meta{character}}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{mshiftchar, +@specialchar{mshiftchar, name={\code{\$} (maths shift)}, text={\code{\$}} } -@index{dollarchar, +@symbol{dollarchar, name={\code{\$} (literal)}, text={\code{\$}} } -@index{cs.dollar, +@command{cs.dollar, name={\csfmt{\$}}, - description={produces the dollar symbol \_}, - note={kernel command}, + description={produces the dollar symbol \$}, + note={kernel command\texparserdefnote}, category={command} } -@index{escchar, +@specialchar{escchar, name={\code{\glsbackslash} (escape)}, text={\code{\glsbackslash}} } -@index{backslashchar, +@symbol{backslashchar, name={\code{\glsbackslash} (literal)}, text={\code{\glsbackslash}} } -@index{cs.backslash, - name={\csfmt{\glsbackslash}} +@command{cs.backslash, + name={\csfmt{\glsbackslash}}, + user1={\oargm{len}}, + description={starts a new row in a tabular or array context +with an extra vertical space of length \meta{len} above it +(starred form prohibits a page break)}, + note={kernel command\texparserdefnote}, + category={command} } -@index{tabularnewline, +@command{tabularnewline, name={\csfmt{tabular\-new\-line}}, + user1={\oargm{len}}, description={tabular version of \idx{cs.backslash} (avoids conflict with forced line breaks in paragraph column formats)}, note={kernel command}, category={command} } -@index{nbspchar, +@specialchar{nbspchar, name={\code{\glstildechar} (non-breakable space)}, text={\code{\glstildechar}} } -@index{tildechar, +@symbol{tildechar, name={\code{\glstildechar} (literal)}, text={\code{\glstildechar}} } -@index{doublequotechardelim, +@symbol{doublequotechardelim, name = {\code{"} (delimiter)}, text = {\code{"}} } -@index{doublequotecharhex, +@symbol{doublequotecharhex, name = {\code{"} (hexadecimal identifier)}, text = {\code{"}} } -@index{doublequoteactivechar, +@specialchar{doublequoteactivechar, name = {\code{"} (active)}, text = {\code{"}} } -@index{doublequotechar, +@symbol{doublequotechar, name = {\code{"} (literal)}, text = {\code{"}} } -@index{openrange, - name = {\code{(} (start range)}, - text = {\code{(}} +@symbol{openrange, + name = {\code{\rangestartmark} (start range)}, + text = {\code{\rangestartmark}} } -@index{closerange, - name = {\code{)} (end range)}, - text = {\code{)}} +@symbol{closerange, + name = {\code{\rangeendmark} (end range)}, + text = {\code{\rangeendmark}} } -@index{cs.tilde, +@command{cs.tilde, name={\csfmt{\glstildechar}}, user1={\margm{character}}, description={puts tilde accent over \meta{character}}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{comma, +@command{comma, name={\csfmt{,}}, description={thin space}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{vec, +@command{vec, name={\csfmt{vec}}, user1={\margm{character}}, description={puts right arrow accent over \meta{character}}, - note={kernel command (maths mode)}, + note={kernel command\texparserdefnote\ (maths mode)}, category={command} } -@index{zeroormore, +@symbol{zeroormore, name={\code{*} (regular expression, zero or more)}, text={\code{*}} } -@index{matchanydot, +@symbol{matchanydot, name={\code{.}\ (regular expression, match any)}, text={\code{.}} } -@index{periodchar, +@symbol{periodchar, name={\code{.}\ (end of sentence)}, text={\code{.}}, alias={full-stop} } -@index{cs.period, - name={\csfmt{.}} +@command{cs.period, + name={\csfmt{.}}, + user1={\margm{character}}, + description={puts a dot accent over \meta{character}}, + note={kernel command\texparserdefnote}, + category={command} } -@index{cs.space, +@command{cs.space, name={\csfmt{\textvisiblespace}}, description={produces an inter-word space}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{space, +@command{space, name={\csfmt{space}}, description={produces a space}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{aposchar, +@symbol{aposchar, name={\code{'} (apostrophe)}, text={\code{'}}, alias={apostrophe} } -@index{def, +@command{def, name={\csfmt{def}}, user1={\margm{cs}\meta{syntax}\margm{definition}}, description={defines the control sequence \meta{cs}, without checking if the command already exists}, - note={\TeX\ primitive}, + note={\TeX\ primitive\texparserdefnote}, category={command} } -@index{edef, +@command{edef, name={\csfmt{edef}}, user1={\margm{cs}\meta{syntax}\margm{definition}}, description={defines the control sequence \meta{cs} to the full expansion of \meta{definition}, without checking if the command already exists}, - note={\TeX\ primitive}, + note={\TeX\ primitive\texparserdefnote}, category={command} } -@index{ifstrempty, +@command{ifstrempty, name={\csfmt{if\-str\-empty}}, user1={\margm{string}\margm{true}\margm{false}}, description={tests if \meta{string} is empty}, @@ -3856,7 +4722,7 @@ expansion of \meta{definition}, without checking if the command category={command} } -@index{ifstrequal, +@command{ifstrequal, name={\csfmt{if\-str\-equal}}, user1={\margm{string1}\margm{string2}\margm{true}\margm{false}}, description={tests if \meta{string1} equals \meta{string2}}, @@ -3864,35 +4730,63 @@ expansion of \meta{definition}, without checking if the command category={command} } -@index{undef, +@command{ifcsstring, + name={\csfmt{if\-cs\-string}}, + user1={\margm{cs-name}\margm{string}\margm{true}\margm{false}}, + description={tests if the replacement text of the command + given by the control sequence name \meta{cs-name} equals \meta{string}}, + note={\styfmt{etoolbox}}, + category={command} +} + +@command{ifdefstrequal, + name={\csfmt{if\-def\-str\-equal}}, + user1={\margm{cs1}\margm{cs2}\margm{true}\margm{false}}, + description={tests if the replacement text of the command + \meta{cs1} equals the replacement text of the command \meta{cs2}}, + note={\styfmt{etoolbox}}, + category={command} +} + +@command{ifcsstrequal, + name={\csfmt{if\-cs\-str\-equal}}, + user1={\margm{cs-name1}\margm{cs-name2}\margm{true}\margm{false}}, + description={tests if the replacement text of the command given by + the control sequence name \meta{cs-name1} equals the replacement text + of the command given by the control sequence name \meta{cs-name2}}, + note={\styfmt{etoolbox}}, + category={command} +} + +@command{undef, name={\csfmt{undef}}, user1={\meta{cs}}, description={undefines the control sequence \meta{cs}}, - note={\styfmt{etoolbox}}, + note={\styfmt{etoolbox}\texparserdefnote}, category={command} } -@index{csdef, +@command{csdef, name={\csfmt{csdef}}, user1={\margm{cs-name}\meta{syntax}\margm{definition}}, description={defines the control sequence whose name is given by \meta{cs-name}, without checking if the command already exists}, - note={\styfmt{etoolbox}}, + note={\styfmt{etoolbox}\texparserdefnote}, category={command} } -@index{csuse, +@command{csuse, name={\csfmt{csuse}}, user1={\margm{cs-name}}, description={uses the control sequence whose name is given by \meta{cs-name} or does nothing if the command isn't defined}, - note={\styfmt{etoolbox}}, + note={\styfmt{etoolbox}\texparserdefnote}, category={command} } -@index{newrobustcmd, +@command{newrobustcmd, name={\csfmt{new\-robust\-cmd}}, user1={\margm{cs}\oargm{n}\oargm{def}\margm{code}}, description={behaves like \cs{newcommand} but the newly defined @@ -3901,15 +4795,15 @@ command will be robust}, category={command} } -@index{ifdefempty, +@command{ifdefempty, name={\csfmt{if\-def\-empty}}, user1={\margm{cs}\margm{true}\margm{false}}, description={tests if the control sequence \meta{cs} is empty}, - note={\styfmt{etoolbox}}, + note={\styfmt{etoolbox}\texparserdefnote}, category={command} } -@index{ifcsundef, +@command{ifcsundef, name={\csfmt{if\-cs\-un\-def}}, user1={\margm{cs-name}\margm{true}\margm{false}}, description={tests if the control sequence given by \meta{cs-name} @@ -3918,7 +4812,7 @@ is undefined}, category={command} } -@index{ifcsdef, +@command{ifcsdef, name={\csfmt{if\-cs\-def}}, user1={\margm{cs-name}\margm{true}\margm{false}}, description={tests if the control sequence given by \meta{cs-name} @@ -3927,15 +4821,15 @@ is defined}, category={command} } -@index{ifdef, +@command{ifdef, name={\csfmt{if\-def}}, user1={\margm{cs}\margm{true}\margm{false}}, description={tests if the control sequence \meta{cs} is defined}, - note={\styfmt{etoolbox}}, + note={\styfmt{etoolbox}\texparserdefnote}, category={command} } -@index{xifinlist, +@command{xifinlist, name={\csfmt{xifinlist}}, user1={\margm{element}\margm{list cs}\margm{true}\margm{false}}, description={tests if the expansion of \meta{element} is in the list stored @@ -3944,7 +4838,7 @@ is defined}, category={command} } -@index{ifinlist, +@command{ifinlist, name={\csfmt{ifinlist}}, user1={\margm{element}\margm{list cs}\margm{true}\margm{false}}, description={tests if \meta{element} is in the list stored @@ -3953,7 +4847,7 @@ is defined}, category={command} } -@index{listxadd, +@command{listxadd, name={\csfmt{listxadd}}, user1={\margm{list cs}\margm{element}}, description={globally adds (expanded) \meta{element} to the list stored @@ -3962,7 +4856,7 @@ is defined}, category={command} } -@index{listgadd, +@command{listgadd, name={\csfmt{listgadd}}, user1={\margm{list cs}\margm{element}}, description={globally adds \meta{element} to the list stored @@ -3971,16 +4865,16 @@ is defined}, category={command} } -@index{appto, +@command{appto, name={\csfmt{appto}}, user1={\margm{cs}\margm{code}}, description={appends \meta{code} to the definition of the control sequence \meta{cs}}, - note={\styfmt{etoolbox}}, + note={\styfmt{etoolbox}\texparserdefnote}, category={command} } -@index{forlistloop, +@command{forlistloop, name={\csfmt{for\-list\-loop}}, user1={\margm{handler cs}\margm{list cs}}, description={iterates over the internal list given by the command @@ -3990,7 +4884,7 @@ is defined}, category={command} } -@index{foreignlanguage, +@command{foreignlanguage, name={\csfmt{foreign\-language}}, user1={\margm{language name}\margm{text}}, description={typesets \meta{text} according to the rules of the @@ -3999,7 +4893,7 @@ given language}, category={command} } -@index{selectlanguage, +@command{selectlanguage, name={\csfmt{select\-language}}, user1={\margm{language name}}, description={switch to the rules of the given language}, @@ -4007,7 +4901,7 @@ given language}, category={command} } -@index{setmainlanguage, +@command{setmainlanguage, name={\csfmt{set\-main\-language}}, user1={\oargm{options}\margm{language name}}, description={load the main document language}, @@ -4015,7 +4909,7 @@ given language}, category={command} } -@index{setotherlanguage, +@command{setotherlanguage, name={\csfmt{set\-other\-language}}, user1={\oargm{options}\margm{language name}}, description={load a secondary document language}, @@ -4023,7 +4917,7 @@ given language}, category={command} } -@index{textlanguage, +@command{textlanguage, name={\csfmt{text\-\meta{language}}}, user1={\oargm{options}\margm{text}}, description={typeset \meta{text} according to \meta{language}}, @@ -4031,51 +4925,79 @@ given language}, category={command} } -@index{marvosym, +@package{marvosym, name={\styfmt{marvosym}}, category={package}, parent={packages} } -@index{ifsym, +@package{ifsym, name={\styfmt{ifsym}}, category={package}, parent={packages} } -@index{CJKutf8, +@package{CJKutf8, name={\styfmt{CJKutf8}}, category={package}, parent={packages} } -@index{env.CJK, +@environment{env.CJK, name={\envfmt{CJK}}, + user1={\oargm{font encoding}\margm{encoding}\margm{family}}, + description={sets up support for \idx{CJK} content}, + note={\styfmt{CJK}}, category={environment} } -@index{env.description, +@environment{env.description, name={\envfmt{description}}, + description={list-like environment}, + note={provided by most classes}, category={environment} } -@index{longtable, +@package{longtable, name={\styfmt{longtable}}, category={package}, parent={packages} } -@index{env.longtable, +@environment{env.longtable, name={\envfmt{longtable}}, + user1={\oargm{halign}\margm{column specs}}, + description={a tabular-like environment that can span multiple +pages (not available in multi-column or certain other contexts)}, + note={\styfmt{longtable}}, category={environment} } -@index{env.tabular, +@environment{env.tabular, name={\envfmt{tabular}}, + user1={\oargm{valign}\margm{column specs}}, + description={aligns material in rows and columns with \idx{colsep} +to separate columns and \cs{cs.backslash} to separate rows}, + note={kernel environment}, + category={environment} +} + +@package{tabularx, + name={\styfmt{tabularx}}, + category={package}, + parent={packages} +} + +@environment{env.tabularx, + name={\envfmt{tabularx}}, + user1={\margm{width}\oargm{valign}\margm{column specs}}, + description={a tabular-like environment that's designed to fit the + given \meta{width})}, + note={\styfmt{tabularx}}, category={environment} } -@index{supertabular, +@package{supertabular, name={\styfmt{supertabular}}, category={package}, parent={packages} @@ -4083,467 +5005,2089 @@ given language}, @index{env.supertabular, name={\envfmt{supertabular}}, + user1={\margm{column specs}}, + description={a tabular-like environment that can span multiple +pages (not available in multi-column or certain other contexts)}, + note={\styfmt{supertabular}}, category={environment} } -@index{env.theglossary, +@glsenvironment{env.theglossary, name={\envfmt{theglossary}}, category={environment} } -@index{abbreviationstyles, +@topic{abbreviationstyles, name={abbreviation styles}, - text={abbreviation style} -} - -@index{long-noshort, - name={\abbrstylefmt{long\dhyphen noshort}}, + text={abbreviation style}, + description={abbreviation styles are set using + \ics{newabbreviation} and govern the format of commands like \ics{gls} + (display style) and \ics{glsxtrfull} (inline style). The inline + style may or may not match the first use format of the display + style. To allow for greater flexibility in abbreviation styles, + \cs{gls} (and its variants) normally treat abbreviations + differently to other terms, but some abbreviation styles can work better + if the abbreviation is treated as a general term so in those cases the + style sets the \catattr{regular} attribute to \qt{true} for + the entry's category. The \styfmt{glossaries-extra} package comes with the file +\href{http://mirrors.ctan.org/macros/latex/contrib/glossaries-extra/samples/sample-abbr-styles.pdf}{\filefmt{sample-abbr-styles.pdf}} + that demonstrates all predefined styles} +} + +@abbreviationstyle{abbrstyle.long-short, + name={\abbrstylefmt{long\dhyphen short}}, + description={this abbreviation style displays the long form on + \idx{firstuse} of the \cs{gls}-like commands followed by the + short form in parentheses (formatted with \cs{glsxtrparen}). + Only the short form is shown on subsequent use. The + \field{description} field is set to the long form}, category={abbreviationstyle}, + note={\styfmt{glossaries-extra}}, parent={abbreviationstyles} } -@index{long-noshort-desc, - name={\abbrstylefmt{long\dhyphen noshort\dhyphen desc}}, +@abbrvstylecommand{glsxtrlongshortname, + name={\csfmt{gls\-xtr\-long\-short\-name}}, + description={hook for the \abbrstyle{long-short} abbreviation + styles that expands to the value that the \field{name} field is + assigned to when the abbreviation is defined with + \cs{newabbreviation} (defaults to the short form)}, + topics={abbrstyle.long-short,abbrstyle.long-short-sc,abbrstyle.long-short-sm,abbrstyle.long-short-em,abbrstyle.long-em-short-em,abbrstyle.long-short-user,abbrstyle.long-postshort-user,abbrstyle.long-hyphen-short-hyphen,abbrstyle.long-hyphen-postshort-hyphen}, + note={\styfmt{glossaries-extra} v1.25+}, + category={command} +} + +@abbrvstylecommand{glslongdefaultfont, + name={\csfmt{gls\-long\-default\-font}}, + user1={\margm{text}}, + description={used by the abbreviation styles that don't have a + specific font to format the long form. The default definition +just does its argument without any formatting}, + topics={abbrstyle.long-short,abbrstyle.short-long,abbrstyle.short-nolong,abbrstyle.nolong-short,abbrstyle.nolong-short-noreg,abbrstyle.short-nolong-desc,abbrstyle.long-noshort-desc,abbrstyle.long-noshort-desc-noreg,abbrstyle.long-short-sc,abbrstyle.long-short-sc-desc,abbrstyle.short-sc-long,abbrstyle.short-sc-long-desc,abbrstyle.short-sc-nolong,abbrstyle.short-sc-nolong-desc,abbrstyle.nolong-short-sc,abbrstyle.long-noshort-sc,abbrstyle.long-noshort-sc-desc,abbrstyle.long-short-sm,abbrstyle.long-short-sm-desc,abbrstyle.short-sm-long,abbrstyle.short-sm-long-desc,abbrstyle.short-sm-nolong,abbrstyle.short-sm-nolong-desc,abbrstyle.nolong-short-sm,abbrstyle.long-noshort-sm,abbrstyle.long-noshort-sm-desc,abbrstyle.long-short-em,abbrstyle.long-short-em-desc,abbrstyle.short-em-long,abbrstyle.short-em-long-desc,abbrstyle.short-em-nolong,abbrstyle.short-em-nolong-desc,abbrstyle.nolong-short-em,abbrstyle.long-noshort-em,abbrstyle.long-noshort-em-desc,abbrstyle.long-noshort,abbrstyle.long-noshort-noreg,abbrstyle.long-short-desc}, + note={\styfmt{glossaries-extra} v1.04+}, + category={command} +} + +@abbrvstylecommand{glsfirstlongdefaultfont, + name={\csfmt{gls\-first\-long\-default\-font}}, + user1={\margm{text}}, + description={used by the abbreviation styles that don't have a + specific font to format the long form on \idx{firstuse}. The + default definition uses \cs{glslongdefaultfont}}, + topics={abbrstyle.long-short,abbrstyle.short-long,abbrstyle.short-nolong,abbrstyle.nolong-short,abbrstyle.nolong-short-noreg,abbrstyle.short-nolong-desc,abbrstyle.long-noshort-desc,abbrstyle.long-noshort-desc-noreg,abbrstyle.long-short-sc,abbrstyle.long-short-sc-desc,abbrstyle.short-sc-long,abbrstyle.short-sc-long-desc,abbrstyle.short-sc-nolong,abbrstyle.short-sc-nolong-desc,abbrstyle.nolong-short-sc,abbrstyle.long-noshort-sc,abbrstyle.long-noshort-sc-desc,abbrstyle.long-short-sm,abbrstyle.long-short-sm-desc,abbrstyle.short-sm-long,abbrstyle.short-sm-long-desc,abbrstyle.short-sm-nolong,abbrstyle.short-sm-nolong-desc,abbrstyle.nolong-short-sm,abbrstyle.long-noshort-sm,abbrstyle.long-noshort-sm-desc,abbrstyle.long-short-em,abbrstyle.long-short-em-desc,abbrstyle.short-em-long,abbrstyle.short-em-long-desc,abbrstyle.short-em-nolong,abbrstyle.short-em-nolong-desc,abbrstyle.nolong-short-em,abbrstyle.long-noshort-em,abbrstyle.long-noshort-em-desc,abbrstyle.long-noshort,abbrstyle.long-noshort-noreg,abbrstyle.long-short-desc}, + note={\styfmt{glossaries-extra}}, + category={command} +} + +@abbrvstylecommand{glsabbrvdefaultfont, + name={\csfmt{gls\-abbrv\-default\-font}}, + user1={\margm{text}}, + description={used by the abbreviation styles that don't have a + specific font to format the short form. The default definition +just does its argument without any formatting}, + topics={abbrstyle.long-short,abbrstyle.short-long,abbrstyle.short-footnote,abbrstyle.short-postfootnote,abbrstyle.short-nolong,abbrstyle.nolong-short,abbrstyle.nolong-short-noreg,abbrstyle.short-nolong-desc,abbrstyle.long-noshort-desc,abbrstyle.long-noshort-desc-noreg,abbrstyle.long-hyphen-noshort-desc-noreg,abbrstyle.long-hyphen-noshort-noreg,abbrstyle.long-noshort,abbrstyle.long-noshort-noreg,abbrstyle.long-short-desc}, + note={\styfmt{glossaries-extra}}, + category={command} +} + +@abbrvstylecommand{glsfirstabbrvdefaultfont, + name={\csfmt{gls\-first\-abbrv\-default\-font}}, + user1={\margm{text}}, + description={used by the abbreviation styles that don't have a + specific font to format the short form on \idx{firstuse}. The + default definition uses \cs{glsabbrvdefaultfont}}, + topics={abbrstyle.long-short,abbrstyle.short-long,abbrstyle.short-footnote,abbrstyle.short-postfootnote,abbrstyle.short-nolong,abbrstyle.nolong-short,abbrstyle.nolong-short-noreg,abbrstyle.short-nolong-desc,abbrstyle.long-noshort-desc,abbrstyle.long-noshort-desc-noreg,abbrstyle.long-hyphen-noshort-desc-noreg,abbrstyle.long-hyphen-noshort-noreg,abbrstyle.long-noshort,abbrstyle.long-noshort-noreg,abbrstyle.long-short-desc}, + note={\styfmt{glossaries-extra}}, + category={command} +} + +@abbreviationstyle{abbrstyle.long-short-desc, + name={\abbrstylefmt{long\dhyphen short\dhyphen desc}}, + description={this abbreviation style is like the + \abbrstyle{long-short} style but the \field{description} + field must be provided in the entry definition}, category={abbreviationstyle}, + note={\styfmt{glossaries-extra}}, parent={abbreviationstyles} } -@index{long-short-sc, - name={\abbrstylefmt{long\dhyphen short\dhyphen sc}}, +@abbrvstylecommand{glsxtrlongshortdescname, + name={\csfmt{gls\-xtr\-long\-short\-desc\-name}}, + description={hook for the \abbrstyle{long-short-desc} abbreviation + styles that expands to the value that the \field{name} field is + assigned to when the abbreviation is defined with + \cs{newabbreviation} (defaults to the long form followed by the + short form in parentheses)}, + topics={abbrstyle.long-short-desc,abbrstyle.long-short-sc-desc,abbrstyle.long-short-sm-desc,abbrstyle.long-short-em-desc,abbrstyle.long-em-short-em-desc,abbrstyle.long-hyphen-short-hyphen-desc,abbrstyle.long-hyphen-postshort-hyphen-desc}, + note={\styfmt{glossaries-extra} v1.17+}, + category={command} +} + +@abbreviationstyle{abbrstyle.short-long, + name={\abbrstylefmt{short\dhyphen long}}, + description={this abbreviation style displays the short form on + \idx{firstuse} of the \cs{gls}-like commands followed by the + long form in parentheses (formatted with \cs{glsxtrparen}). + Only the short form is shown on subsequent use. The + \field{description} field is set to the long form}, category={abbreviationstyle}, + note={\styfmt{glossaries-extra}}, parent={abbreviationstyles} } -@index{long-short-sm, - name={\abbrstylefmt{long\dhyphen short\dhyphen sm}}, +@abbrvstylecommand{glsxtrshortlongname, + name={\csfmt{gls\-xtr\-short\-long\-name}}, + description={hook for the \abbrstyle{short-long} abbreviation styles + that expands to the value that the \field{name} field is assigned + to when the abbreviation is defined with \cs{newabbreviation} + (defaults to the short form)}, + topics={abbrstyle.short-long,abbrstyle.short-sc-long,abbrstyle.short-sm-long,abbrstyle.short-em-long,abbrstyle.short-em-long-em,abbrstyle.short-postlong-user,abbrstyle.short-long-user,abbrstyle.short-hyphen-long-hyphen,abbrstyle.short-hyphen-postlong-hyphen}, + note={\styfmt{glossaries-extra} v1.25+}, + category={command} +} + +@abbreviationstyle{abbrstyle.short-long-desc, + name={\abbrstylefmt{short\dhyphen long\dhyphen desc}}, + description={this abbreviation style is like the + \abbrstyle{short-long} style but the \field{description} + field must be provided in the entry definition}, category={abbreviationstyle}, + note={\styfmt{glossaries-extra}}, parent={abbreviationstyles} } -@index{long-short-em, - name={\abbrstylefmt{long\dhyphen short\dhyphen em}}, +@abbrvstylecommand{glsxtrshortlongdescname, + name={\csfmt{gls\-xtr\-short\-long\-desc\-name}}, + description={hook for the \abbrstyle{short-long-desc} abbreviation + styles that expands to the value that the \field{name} field is + assigned to when the abbreviation is defined with + \cs{newabbreviation} (defaults to the long form followed by the + short form in parentheses)}, + topics={abbrstyle.short-long-desc,abbrstyle.short-sc-long-desc,abbrstyle.short-sm-long-desc,abbrstyle.short-em-long-desc,abbrstyle.short-em-long-em-desc,abbrstyle.short-hyphen-long-hyphen-desc,abbrstyle.short-hyphen-postlong-hyphen-desc}, + note={\styfmt{glossaries-extra} v1.17+}, + category={command} +} + +@abbreviationstyle{abbrstyle.short-footnote, + name={\abbrstylefmt{short\dhyphen footnote}}, + description={this abbreviation style displays the short form on + \idx{firstuse} of the \cs{gls}-like commands with the long form as + a footnote. Only the short form is shown on subsequent use. The + \field{description} field is set to the long form. The inline full + form obtained with commands like \cs{glsxtrfull} uses a + parenthetical style. Since this can result in nested hyperlinks + (from the \idx{link-text} to the glossary and from the footnote + marker to the footnote) this style automatically sets the + \catattr{nohyperfirst} category attribute to \optfmt{true} for + the entry's category}, category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04+}, parent={abbreviationstyles} } -@index{long-short, - name={\abbrstylefmt{long\dhyphen short}}, +@abbreviationstyle{abbrstyle.footnote, + name={\abbrstylefmt{footnote}}, + description={an alias for \abbrstyle{short-footnote}}, category={abbreviationstyle}, + note={\styfmt{glossaries-extra}}, parent={abbreviationstyles} } -@index{long-short-user, - name={\abbrstylefmt{long\dhyphen short\dhyphen user}}, +@abbrvstylecommand{glslongfootnotefont, + name={\csfmt{gls\-long\-foot\-note\-font}}, + user1={\margm{text}}, + description={used with the \qt{footnote} abbreviation styles to + format the long form}, + topics={abbrstyle.short-footnote,abbrstyle.short-postfootnote,abbrstyle.short-sc-footnote,abbrstyle.short-sc-postfootnote,abbrstyle.short-sm-footnote,abbrstyle.short-sm-postfootnote,abbrstyle.short-em-footnote,abbrstyle.short-em-postfootnote}, + note={\styfmt{glossaries-extra} v1.05+}, + category={command} +} + +@abbrvstylecommand{glsfirstlongfootnotefont, + name={\csfmt{gls\-first\-long\-foot\-note\-font}}, + user1={\margm{text}}, + description={used with the \qt{footnote} abbreviation styles to + format the long form on first use}, + topics={abbrstyle.short-footnote,abbrstyle.short-postfootnote,abbrstyle.short-sc-footnote,abbrstyle.short-sc-postfootnote,abbrstyle.short-sm-footnote,abbrstyle.short-sm-postfootnote,abbrstyle.short-em-footnote,abbrstyle.short-em-postfootnote}, + note={\styfmt{glossaries-extra} v1.05+}, + category={command} +} + +@abbrvstylecommand{glsxtrabbrvfootnote, + name={\csfmt{gls\-xtr\-abbrv\-foot\-note}}, + user1={\margm{label}\margm{long form}}, + description={used with the \qt{footnote} abbreviation styles to + do the footnote. The \meta{label} is ignored by default. The + \meta{long form} includes the font changing command. This just + does \code{\cs{footnote}\margm{long form}}}, + topics={abbrstyle.short-footnote,abbrstyle.short-postfootnote,abbrstyle.short-sc-footnote,abbrstyle.short-sc-postfootnote,abbrstyle.short-sm-footnote,abbrstyle.short-sm-postfootnote,abbrstyle.short-em-footnote,abbrstyle.short-em-postfootnote}, + note={\styfmt{glossaries-extra} v1.07+}, + category={command} +} + +@abbrvstylecommand{glsxtrfootnotename, + name={\csfmt{gls\-xtr\-foot\-note\-name}}, + description={hook for the \qt{footnote} abbreviation styles + that expands to the value that the \field{name} field is assigned + to when the abbreviation is defined with \cs{newabbreviation} + (defaults to the short form)}, + topics={abbrstyle.short-footnote,abbrstyle.short-postfootnote,abbrstyle.short-sc-footnote,abbrstyle.short-sc-postfootnote,abbrstyle.short-sm-footnote,abbrstyle.short-sm-postfootnote,abbrstyle.short-em-footnote,abbrstyle.short-em-postfootnote}, + note={\styfmt{glossaries-extra} v1.25+}, + category={command} +} + +@abbreviationstyle{abbrstyle.short-postfootnote, + name={\abbrstylefmt{short\dhyphen postfootnote}}, + description={this abbreviation style is like + \abbrstyle{short-footnote} but the footnote is moved to the + \idx{postlinkhook} (outside of the hyperlink, if enabled) to + prevent nested hyperlinks. This means that, unlike + \abbrstyle{short-footnote} the \catattr{nohyperfirst} attribute + isn't changed}, category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04}, parent={abbreviationstyles} } -@index{short-long-user, - name={\abbrstylefmt{short\dhyphen long\dhyphen user}}, +@abbreviationstyle{abbrstyle.postfootnote, + name={\abbrstylefmt{postfootnote}}, + description={an alias for \abbrstyle{short-postfootnote}}, category={abbreviationstyle}, + note={\styfmt{glossaries-extra}}, parent={abbreviationstyles} } -@index{long-em-short-em, - name={\abbrstylefmt{long\dhyphen em\dhyphen short\dhyphen em}}, +@abbreviationstyle{abbrstyle.short-nolong, + name={\abbrstylefmt{short\dhyphen nolong}}, + description={this abbreviation style only displays the \field{short} form + with the \cs{gls}-like commands (regardless of the \idx{firstuseflag}). + The \field{long} form can be accessed with \cs{glsxtrlong}. + The \field{name} field is set to \cs{glsxtrshortnolongname} and the + \field{description} field is set to the \field{long} form (unless + overridden in the entry definition). The inline full form + displays the short form followed by the long form in parentheses. + This style sets the \catattr{regular} attribute to \optfmt{true} + for the entry's category}, category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04}, parent={abbreviationstyles} } -@index{long-short-desc, - name={\abbrstylefmt{long\dhyphen short\dhyphen desc}}, +@abbreviationstyle{abbrstyle.short, + name={\abbrstylefmt{short}}, + description={an alias for \abbrstyle{short-nolong}}, category={abbreviationstyle}, + note={\styfmt{glossaries-extra}}, parent={abbreviationstyles} } -@index{long-short-user-desc, - name={\abbrstylefmt{long\dhyphen short\dhyphen user\dhyphen desc}}, +@abbreviationstyle{abbrstyle.short-nolong-noreg, + name={\abbrstylefmt{short\dhyphen nolong\dhyphen noreg}}, + description={this abbreviation style is like \abbrstyle{short-nolong} + but doesn't set the \catattr{regular} attribute to \optfmt{true}}, category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.17+}, parent={abbreviationstyles} } -@index{long-hyphen-short-hyphen, - name={\abbrstylefmt{long\dhyphen hyphen\dhyphen short\dhyphen -hyphen}}, +@abbrvstylecommand{glsxtrshortnolongname, + name={\csfmt{gls\-xtr\-short\-no\-long\-name}}, + description={hook for the \abbrstyle{short-nolong} abbreviation styles + that expands to the value that the \field{name} field is assigned + to when the abbreviation is defined with \cs{newabbreviation} + (defaults to the short form)}, + topics={abbrstyle.short-nolong,abbrstyle.short-nolong-noreg,abbrstyle.short-sc-nolong,abbrstyle.short-sm-nolong,abbrstyle.short-em-nolong}, + note={\styfmt{glossaries-extra} v1.25+}, + category={command} +} + +@abbreviationstyle{abbrstyle.short-nolong-desc, + name={\abbrstylefmt{short\dhyphen nolong\dhyphen desc}}, + description={this abbreviation style is like the + \abbrstyle{short-nolong} style but the \field{description} + field must be provided in the entry definition. This style sets + the \catattr{regular} attribute to \optfmt{true} for the entry's + category}, category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04+}, parent={abbreviationstyles} } -@index{long-postshort-user-desc, - name={\abbrstylefmt{long\dhyphen postshort\dhyphen user\dhyphen desc}}, +@abbreviationstyle{abbrstyle.short-desc, + name={\abbrstylefmt{short-desc}}, + description={an alias for \abbrstyle{short-nolong-desc}}, category={abbreviationstyle}, + note={\styfmt{glossaries-extra}}, parent={abbreviationstyles} } -@index{short-long, - name={\abbrstylefmt{short\dhyphen long}}, +@abbreviationstyle{abbrstyle.short-nolong-desc-noreg, + name={\abbrstylefmt{short\dhyphen nolong\dhyphen desc\dhyphen noreg}}, + description={this abbreviation style is like \abbrstyle{short-nolong-desc} + but doesn't set the \catattr{regular} attribute to \optfmt{true}}, category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.17+}, parent={abbreviationstyles} } -@index{short-nolong, - name={\abbrstylefmt{short\dhyphen nolong}}, +@abbrvstylecommand{glsxtrshortdescname, + name={\csfmt{gls\-xtr\-short\-desc\-name}}, + description={hook for the \abbrstyle{short-nolong-desc} abbreviation styles + that expands to the value that the \field{name} field is assigned + to when the abbreviation is defined with \cs{newabbreviation} + (defaults to the short form followed by long form in parentheses)}, + topics={abbrstyle.short-nolong-desc,abbrstyle.short-nolong-desc-noreg,abbrstyle.short-sc-nolong-desc,abbrstyle.short-sm-nolong-desc,abbrstyle.short-em-nolong-desc}, + note={\styfmt{glossaries-extra} v1.17+}, + category={command} +} + +@abbreviationstyle{abbrstyle.nolong-short, + name={\abbrstylefmt{nolong\dhyphen short}}, + description={this abbreviation style only displays the \field{short} form + with the \cs{gls}-like commands (regardless of the \idx{firstuseflag}). + The \field{long} form can be accessed with \cs{glsxtrlong}. + The \field{name} field is set to \cs{glsxtrshortnolongname} and the + \field{description} field is set to the \field{long} form (unless + overridden in the entry definition). The inline full form + displays the long form followed by the short form in parentheses. + This style sets the \catattr{regular} attribute to \optfmt{true} + for the entry's category}, category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.21+}, parent={abbreviationstyles} } -@index{short-sc-nolong, - name={\abbrstylefmt{short\dhyphen sc\dhyphen nolong}}, +@abbreviationstyle{abbrstyle.nolong-short-noreg, + name={\abbrstylefmt{nolong\dhyphen short\dhyphen noreg}}, + description={this abbreviation style is like \abbrstyle{nolong-short} + but doesn't set the \catattr{regular} attribute to \optfmt{true}}, category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.21+}, parent={abbreviationstyles} } -@index{long-only-short-only, - name={\abbrstylefmt{long\dhyphen only\dhyphen short\dhyphen only}}, +@abbreviationstyle{abbrstyle.long-noshort-desc, + name={\abbrstylefmt{long\dhyphen noshort\dhyphen desc}}, + description={this abbreviation style only displays the \field{long} + form with the \cs{gls}-like commands (regardless of the + \idx{firstuseflag}). The \field{short} + form can be accessed with \cs{glsxtrshort}. The \field{name} + field is set to \cs{glsxtrlongnoshortdescname} and the \field{description} + field must be provided in the entry definition. The inline full + form displays the long form followed by the short form in + parentheses. This style sets the \catattr{regular} attribute to + \optfmt{true} for the entry's category}, category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04+}, parent={abbreviationstyles} } -@index{glossarystyle, - name={glossary styles}, - text={glossary style} +@abbreviationstyle{abbrstyle.long-desc, + name={\abbrstylefmt{long-desc}}, + description={an alias for \abbrstyle{long-noshort-desc}}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra}}, + parent={abbreviationstyles} } -@index{glostyle.indexgroup, - name={\glostylefmt{indexgroup}}, - category={glossarystyle}, - parent={glossarystyle} +@abbrvstylecommand{glsxtrlongnoshortdescname, + name={\csfmt{gls\-xtr\-long\-no\-short\-desc\-name}}, + description={hook for the \abbrstyle{long-noshort-desc} abbreviation styles + that expands to the value that the \field{name} field is assigned + to when the abbreviation is defined with \cs{newabbreviation} + (defaults to the long form)}, + topics={abbrstyle.long-noshort-desc,abbrstyle.long-noshort-desc-noreg,abbrstyle.long-em-noshort-em-desc,abbrstyle.long-hyphen-noshort-desc-noreg,abbrstyle.long-noshort-sc-desc,abbrstyle.long-noshort-sm-desc,abbrstyle.long-noshort-em-desc,abbrstyle.long-em-noshort-em-desc-noreg}, + note={\styfmt{glossaries-extra} v1.25+}, + category={command} } -@index{glostyle.mcolindexgroup, - name={\glostylefmt{mcolindexgroup}}, - category={glossarystyle}, - parent={glossarystyle} +@abbreviationstyle{abbrstyle.long-noshort-desc-noreg, + name={\abbrstylefmt{long\dhyphen noshort\dhyphen desc\dhyphen noreg}}, + description={this abbreviation style is like \abbrstyle{long-noshort-desc} + but doesn't set the \catattr{regular} attribute to \optfmt{true}}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.17+}, + parent={abbreviationstyles} } -@index{glostyle.indexhypergroup, - name={\glostylefmt{indexhypergroup}}, - category={glossarystyle}, - parent={glossarystyle} +@abbreviationstyle{abbrstyle.long-noshort, + name={\abbrstylefmt{long\dhyphen noshort}}, + description={this abbreviation style only displays the \field{long} form + with the \cs{gls}-like commands (regardless of the \idx{firstuseflag}). + The \field{short} form can be accessed with \cs{glsxtrshort}. + The \field{name} field is set to \cs{glsxtrlongnoshortname} and the + \field{description} field is set to the \field{long} form (unless + overridden in the entry definition). The inline full form + displays the long form followed by the short form in parentheses. + This style sets the \catattr{regular} attribute to \optfmt{true} + for the entry's category}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04+}, + parent={abbreviationstyles} } -@index{glostyle.tree, - name={\glostylefmt{tree}}, - category={glossarystyle}, - parent={glossarystyle} +@abbreviationstyle{abbrstyle.long, + name={\abbrstylefmt{long}}, + description={an alias for \abbrstyle{long-noshort}}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra}}, + parent={abbreviationstyles} } -@index{glostyle.treegroup, - name={\glostylefmt{treegroup}}, - category={glossarystyle}, - parent={glossarystyle} +@abbreviationstyle{abbrstyle.long-noshort-noreg, + name={\abbrstylefmt{long\dhyphen noshort\dhyphen noreg}}, + description={this abbreviation style is like \abbrstyle{long-noshort} + but doesn't set the \catattr{regular} attribute to \optfmt{true}}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.17+}, + parent={abbreviationstyles} } -@index{glostyle.treenoname, - name={\glostylefmt{treenoname}}, - category={glossarystyle}, - parent={glossarystyle} +@abbrvstylecommand{glsxtrlongnoshortname, + name={\csfmt{gls\-xtr\-long\-no\-short\-name}}, + description={hook for the \abbrstyle{long-noshort} abbreviation styles + that expands to the value that the \field{name} field is assigned + to when the abbreviation is defined with \cs{newabbreviation} + (defaults to the short form)}, + topics={abbrstyle.long-noshort,abbrstyle.long-noshort-noreg,abbrstyle.long-noshort-sc,abbrstyle.long-noshort-sm,abbrstyle.long-noshort-em,abbrstyle.long-em-noshort-em,abbrstyle.long-em-noshort-em-noreg,abbrstyle.long-hyphen-noshort-noreg}, + note={\styfmt{glossaries-extra} v1.25+}, + category={command} } -@index{glostyle.treenonamegroup, - name={\glostylefmt{treenonamegroup}}, - category={glossarystyle}, - parent={glossarystyle} +@abbreviationstyle{abbrstyle.long-short-sc, + name={\abbrstylefmt{long\dhyphen short\dhyphen sc}}, + description={this abbreviation style is like \abbrstyle{long-short} + but the short form is displayed in small-caps (so it needs to be + in \idx{lowercase})}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra}}, + parent={abbreviationstyles} } -@index{glostyle.alttree, - name={\glostylefmt{alttree}}, - category={glossarystyle}, - parent={glossarystyle} +@abbrvstylecommand{glsxtrscsuffix, + name={\csfmt{gls\-xtr\-sc\-suffix}}, + user1={}, + description={the suffix used to construct the plural for + the short form of abbreviations with the small-cap + \qt{sc} styles. This counteracts the effect of \cs{textsc} + using \ics{glstextup}}, + topics={abbrstyle.long-short-sc,abbrstyle.long-short-sc-desc,abbrstyle.short-sc-long,abbrstyle.short-sc-long-desc,abbrstyle.short-sc-nolong,abbrstyle.short-sc-nolong-desc,abbrstyle.nolong-short-sc,abbrstyle.short-sc-footnote,abbrstyle.short-sc-postfootnote,abbrstyle.long-noshort-sc,abbrstyle.long-noshort-sc-desc}, + note={\styfmt{glossaries-extra}}, + category={command} } -@index{glostyle.alttreegroup, - name={\glostylefmt{alttreegroup}}, - category={glossarystyle}, - parent={glossarystyle} +@abbrvstylecommand{glsabbrvscfont, + name={\csfmt{gls\-abbrv\-sc\-font}}, + user1={\margm{text}}, + description={used with \qt{sc} abbreviation styles to format the +short form using \cs{textsc}}, + topics={abbrstyle.long-short-sc,abbrstyle.long-short-sc-desc,abbrstyle.short-sc-long,abbrstyle.short-sc-long-desc,abbrstyle.short-sc-nolong,abbrstyle.short-sc-nolong-desc,abbrstyle.nolong-short-sc,abbrstyle.short-sc-footnote,abbrstyle.short-sc-postfootnote,abbrstyle.long-noshort-sc,abbrstyle.long-noshort-sc-desc}, + note={\styfmt{glossaries-extra} v1.17+}, + category={command} } -@index{glostyle.mcolalttree, - name={\glostylefmt{mcolalttree}}, - category={glossarystyle}, - parent={glossarystyle} +@abbrvstylecommand{glsfirstabbrvscfont, + name={\csfmt{gls\-first\-abbrv\-sc\-font}}, + user1={\margm{text}}, + description={used with \qt{sc} abbreviation styles to format the + short form on \idx{firstuse}. This defaults to \cs{glsabbrvscfont}}, + topics={abbrstyle.long-short-sc,abbrstyle.long-short-sc-desc,abbrstyle.short-sc-long,abbrstyle.short-sc-long-desc,abbrstyle.short-sc-nolong,abbrstyle.short-sc-nolong-desc,abbrstyle.nolong-short-sc,abbrstyle.short-sc-footnote,abbrstyle.short-sc-postfootnote,abbrstyle.long-noshort-sc,abbrstyle.long-noshort-sc-desc}, + note={\styfmt{glossaries-extra} v1.17+}, + category={command} } -@index{glostyle.mcolalttreegroup, - name={\glostylefmt{mcolalttreegroup}}, - category={glossarystyle}, - parent={glossarystyle} +@abbreviationstyle{abbrstyle.long-short-sc-desc, + name={\abbrstylefmt{long\dhyphen short\dhyphen sc\dhyphen desc}}, + description={this abbreviation style is like the + \abbrstyle{long-short-sc} style but the \field{description} + field must be provided in the entry definition}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra}}, + parent={abbreviationstyles} } -@index{glostyle.list, - name={\glostylefmt{list}}, - category={glossarystyle}, - parent={glossarystyle} +@abbreviationstyle{abbrstyle.short-sc-long, + name={\abbrstylefmt{short\dhyphen sc\dhyphen long}}, + description={this abbreviation style is like \abbrstyle{short-long} + but the short form is displayed in small-caps (so it needs to be + in \idx{lowercase})}, + category={abbreviationstyle}, + parent={abbreviationstyles} } -@index{glostyle.altlist, - name={\glostylefmt{altlist}}, - category={glossarystyle}, - parent={glossarystyle} +@abbreviationstyle{abbrstyle.short-sc-long-desc, + name={\abbrstylefmt{short\dhyphen sc\dhyphen long\dhyphen desc}}, + description={this abbreviation style is like the + \abbrstyle{short-sc-long} style but the \field{description} + field must be provided in the entry definition}, + category={abbreviationstyle}, + parent={abbreviationstyles} } -@index{glostyle.altlistgroup, - name={\glostylefmt{altlistgroup}}, - category={glossarystyle}, - parent={glossarystyle} +@abbreviationstyle{abbrstyle.short-sc-nolong, + name={\abbrstylefmt{short\dhyphen sc\dhyphen nolong}}, + description={this abbreviation style is like \abbrstyle{short-nolong} + but the short form is displayed in small-caps (so it needs to be + in \idx{lowercase}). This style sets the \catattr{regular} + attribute to \optfmt{true} for the entry's category}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04+}, + parent={abbreviationstyles} } -@index{glostyle.index, - name={\glostylefmt{index}}, - category={glossarystyle}, - parent={glossarystyle} +@abbreviationstyle{abbrstyle.short-sc, + name={\abbrstylefmt{short\dhyphen sc}}, + description={an alias for \abbrstyle{short-sc-nolong}}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra}}, + parent={abbreviationstyles} } -@index{glostyle.bookindex, - name={\glostylefmt{bookindex}}, - category={glossarystyle}, - parent={glossarystyle} -} - -@index{glostyle.long3col, - name={\glostylefmt{long3col}}, - category={glossarystyle}, - parent={glossarystyle} +@abbreviationstyle{abbrstyle.short-sc-nolong-desc, + name={\abbrstylefmt{short\dhyphen sc\dhyphen nolong\dhyphen desc}}, + description={this abbreviation style is like the + \abbrstyle{short-sc-nolong} style but the \field{description} + field must be provided in the entry definition. This style + sets the \catattr{regular} attribute to \optfmt{true} for the + entry's category}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04+}, + parent={abbreviationstyles} } -@index{glostyle.long3col-booktabs, - name={\glostylefmt{long3col\dhyphen booktabs}}, - category={glossarystyle}, - parent={glossarystyle} +@abbreviationstyle{abbrstyle.short-sc-desc, + name={\abbrstylefmt{short\dhyphen sc\dhyphen desc}}, + description={an alias for \abbrstyle{short-sc-nolong-desc}}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra}}, + parent={abbreviationstyles} } -@index{categoryattribute, - name={category attributes}, - text={category attribute} +@abbreviationstyle{abbrstyle.nolong-short-sc, + name={\abbrstylefmt{nolong\dhyphen short\dhyphen sc}}, + description={this abbreviation style is like \abbrstyle{nolong-short} + but the short form is displayed in small-caps (so it needs to be + in \idx{lowercase}). This style + sets the \catattr{regular} attribute to \optfmt{true} for the + entry's category}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.21+}, + parent={abbreviationstyles} } -@index{attribute, - name = {attributes}, - text = {attribute}, - alias = {categoryattribute} +@abbreviationstyle{abbrstyle.long-noshort-sc, + name={\abbrstylefmt{long\dhyphen noshort\dhyphen sc}}, + description={this abbreviation style is like \abbrstyle{long-noshort} + but the short form is displayed in small-caps (so it needs to be + in \idx{lowercase}). This style + sets the \catattr{regular} attribute to \optfmt{true} for the + entry's category}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04+}, + parent={abbreviationstyles} } -@index{recordcount, - name={\catattrfmt{record\-count}}, - category={categoryattribute}, - parent={categoryattribute} +@abbreviationstyle{abbrstyle.long-noshort-sc-desc, + name={\abbrstylefmt{long\dhyphen noshort\dhyphen sc\dhyphen desc}}, + description={this abbreviation style is like the + \abbrstyle{long-noshort-sc} style but the \field{description} + field must be provided in the entry definition. This style + sets the \catattr{regular} attribute to \optfmt{true} for the + entry's category}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04+}, + parent={abbreviationstyles} } -@index{glossname, - name={\catattrfmt{gloss\-name}}, - category={categoryattribute}, - parent={categoryattribute} +@abbreviationstyle{abbrstyle.short-sc-footnote, + name={\abbrstylefmt{short\dhyphen sc\dhyphen footnote}}, + description={this abbreviation style is like \abbrstyle{short-footnote} + but the short form is displayed in small-caps (so it needs to be + in \idx{lowercase})}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04+}, + parent={abbreviationstyles} } -@index{glossnamefont, - name={\catattrfmt{gloss\-name\-font}}, - category={categoryattribute}, - parent={categoryattribute} +@abbreviationstyle{abbrstyle.short-sc-postfootnote, + name={\abbrstylefmt{short\dhyphen sc\dhyphen postfootnote}}, + description={this abbreviation style is like \abbrstyle{short-postfootnote} + but the short form is displayed in small-caps (so it needs to be + in \idx{lowercase})}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04+}, + parent={abbreviationstyles} } -@index{glossdesc, - name={\catattrfmt{gloss\-desc}}, - category={categoryattribute}, - parent={categoryattribute} +@abbreviationstyle{abbrstyle.long-short-sm, + name={\abbrstylefmt{long\dhyphen short\dhyphen sm}}, + description={this abbreviation style is like \abbrstyle{long-short} + but the short form is displayed using a smaller font. The + \sty{relsize} package is required with this style}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra}}, + parent={abbreviationstyles} } -@index{glossdescfont, - name={\catattrfmt{gloss\-desc\-font}}, - category={categoryattribute}, - parent={categoryattribute} +@abbrvstylecommand{glsabbrvsmfont, + name={\csfmt{gls\-abbrv\-sm\-font}}, + user1={\margm{text}}, + description={used with \qt{sm} abbreviation styles to format the +short form using \ics{textsmaller}}, + topics={abbrstyle.long-short-sm,abbrstyle.long-short-sm-desc,abbrstyle.short-sm-long,abbrstyle.short-sm-long-desc,abbrstyle.short-sm-nolong,abbrstyle.short-sm-nolong-desc,abbrstyle.nolong-short-sm,abbrstyle.short-sm-footnote,abbrstyle.short-sm-postfootnote,abbrstyle.long-noshort-sm,abbrstyle.long-noshort-sm-desc}, + note={\styfmt{glossaries-extra} v1.17+}, + category={command} } -@index{textformat, - name={\catattrfmt{text\-format}}, - category={categoryattribute}, - parent={categoryattribute} +@abbrvstylecommand{glsfirstabbrvsmfont, + name={\csfmt{gls\-first\-abbrv\-sm\-font}}, + user1={\margm{text}}, + description={used with \qt{sm} abbreviation styles to format the + short form on \idx{firstuse}. This defaults to \cs{glsabbrvsmfont}}, + topics={abbrstyle.long-short-sm,abbrstyle.long-short-sm-desc,abbrstyle.short-sm-long,abbrstyle.short-sm-long-desc,abbrstyle.short-sm-nolong,abbrstyle.short-sm-nolong-desc,abbrstyle.nolong-short-sm,abbrstyle.short-sm-footnote,abbrstyle.short-sm-postfootnote,abbrstyle.long-noshort-sm,abbrstyle.long-noshort-sm-desc}, + note={\styfmt{glossaries-extra} v1.17+}, + category={command} } -@index{headuc, - name={\catattrfmt{headuc}}, - category={categoryattribute}, - parent={categoryattribute} +@abbrvstylecommand{glsxtrsmsuffix, + name={\csfmt{gls\-xtr\-sm\-suffix}}, + user1={}, + description={the suffix used to construct the plural for + the short form of abbreviations with the \qt{sm} styles. This + defaults to \cs{glsxtrabbrvpluralsuffix}}, + topics={abbrstyle.long-short-sm,abbrstyle.long-short-sm-desc,abbrstyle.short-sm-long,abbrstyle.short-sm-long-desc,abbrstyle.short-sm-nolong,abbrstyle.short-sm-nolong-desc,abbrstyle.nolong-short-sm,abbrstyle.short-sm-footnote,abbrstyle.short-sm-postfootnote,abbrstyle.long-noshort-sm,abbrstyle.long-noshort-sm-desc}, + note={\styfmt{glossaries-extra}}, + category={command} } -@index{aposplural, - name={\catattrfmt{apos\-plural}}, - category={categoryattribute}, - parent={categoryattribute} +@abbreviationstyle{abbrstyle.long-short-sm-desc, + name={\abbrstylefmt{long\dhyphen short\dhyphen sm\dhyphen desc}}, + description={this abbreviation style is like the + \abbrstyle{long-short-sm} style but the \field{description} + field must be provided in the entry definition}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra}}, + parent={abbreviationstyles} } -@index{accessaposplural, - name={\catattrfmt{access\-apos\-plural}}, - category={categoryattribute}, - parent={categoryattribute} +@abbreviationstyle{abbrstyle.short-sm-long, + name={\abbrstylefmt{short\dhyphen sm\dhyphen long}}, + description={this abbreviation style is like \abbrstyle{short-long} + but the short form is displayed using a smaller font}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra}}, + parent={abbreviationstyles} } -@index{noshortplural, - name={\catattrfmt{no\-short\-plural}}, - category={categoryattribute}, - parent={categoryattribute} +@abbreviationstyle{abbrstyle.short-sm-long-desc, + name={\abbrstylefmt{short\dhyphen sm\dhyphen long\dhyphen desc}}, + description={this abbreviation style is like the + \abbrstyle{long-short-sm} style but the \field{description} + field must be provided in the entry definition}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra}}, + parent={abbreviationstyles} } -@index{accessnoshortplural, - name={\catattrfmt{access\-no\-short\-plural}}, - category={categoryattribute}, - parent={categoryattribute} +@abbreviationstyle{abbrstyle.short-sm-nolong, + name={\abbrstylefmt{short\dhyphen sm\dhyphen nolong}}, + description={this abbreviation style is like \abbrstyle{short-nolong} + but the short form is displayed using a smaller font. This style + sets the \catattr{regular} attribute to \optfmt{true} for the + entry's category}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04+}, + parent={abbreviationstyles} } -@index{nameshortaccess, - name={\catattrfmt{name\-short\-access}}, - category={categoryattribute}, - parent={categoryattribute} +@abbreviationstyle{abbrstyle.short-sm, + name={\abbrstylefmt{short\dhyphen sm}}, + description={an alias for \abbrstyle{short-sm-nolong}}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra}}, + parent={abbreviationstyles} } -@index{firstshortaccess, - name={\catattrfmt{first\-short\-access}}, - category={categoryattribute}, - parent={categoryattribute} +@abbreviationstyle{abbrstyle.short-sm-nolong-desc, + name={\abbrstylefmt{short\dhyphen sm\dhyphen nolong\dhyphen desc}}, + description={this abbreviation style is like the + \abbrstyle{short-sm-nolong} style but the \field{description} + field must be provided in the entry definition. This style + sets the \catattr{regular} attribute to \optfmt{true} for the + entry's category}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04+}, + parent={abbreviationstyles} } -@index{textshortaccess, - name={\catattrfmt{text\-short\-access}}, - category={categoryattribute}, - parent={categoryattribute} +@abbreviationstyle{abbrstyle.short-sm-desc, + name={\abbrstylefmt{short\dhyphen sm\dhyphen desc}}, + description={an alias for \abbrstyle{short-sm-nolong-desc}}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra}}, + parent={abbreviationstyles} } -@index{markwords, - name={\catattrfmt{mark\-words}}, - category={categoryattribute}, - parent={categoryattribute} +@abbreviationstyle{abbrstyle.nolong-short-sm, + name={\abbrstylefmt{nolong\dhyphen short\dhyphen sm}}, + description={this abbreviation style is like \abbrstyle{nolong-short} + but the short form is displayed using a smaller font. This style + sets the \catattr{regular} attribute to \optfmt{true} for the + entry's category}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.21+}, + parent={abbreviationstyles} } -@index{markshortwords, - name={\catattrfmt{mark\-short\-words}}, - category={categoryattribute}, - parent={categoryattribute} +@abbreviationstyle{abbrstyle.long-noshort-sm, + name={\abbrstylefmt{long\dhyphen noshort\dhyphen sm}}, + description={this abbreviation style is like \abbrstyle{long-noshort} + but the short form is displayed using a smaller font. This style + sets the \catattr{regular} attribute to \optfmt{true} for the + entry's category}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04+}, + parent={abbreviationstyles} } -@index{targeturl, - name={\catattrfmt{target\-url}}, - category={categoryattribute}, - parent={categoryattribute} +@abbreviationstyle{abbrstyle.long-noshort-sm-desc, + name={\abbrstylefmt{long\dhyphen noshort\dhyphen sm\dhyphen desc}}, + description={this abbreviation style is like the + \abbrstyle{long-noshort-sm} style but the \field{description} + field must be provided in the entry definition. This style + sets the \catattr{regular} attribute to \optfmt{true} for the + entry's category}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04+}, + parent={abbreviationstyles} } -@index{targetname, - name={\catattrfmt{target\-name}}, - category={categoryattribute}, - parent={categoryattribute} +@abbreviationstyle{abbrstyle.short-sm-footnote, + name={\abbrstylefmt{short\dhyphen sm\dhyphen footnote}}, + description={this abbreviation style is like \abbrstyle{short-footnote} + but the short form is displayed in a smaller font}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04+}, + parent={abbreviationstyles} } -@index{externallocation, - name={\catattrfmt{external\-location}}, - category={categoryattribute}, - parent={categoryattribute} +@abbreviationstyle{abbrstyle.short-sm-postfootnote, + name={\abbrstylefmt{short\dhyphen sm\dhyphen postfootnote}}, + description={this abbreviation style is like \abbrstyle{short-postfootnote} + but the short form is displayed in a smaller font}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04+}, + parent={abbreviationstyles} } -@index{discardperiod, - name={\catattrfmt{discard\-period}}, - category={categoryattribute}, - parent={categoryattribute} +@abbreviationstyle{abbrstyle.long-short-em, + name={\abbrstylefmt{long\dhyphen short\dhyphen em}}, + description={this abbreviation style is like \abbrstyle{long-short} + but the short form is displayed using an emphasized font}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra}}, + parent={abbreviationstyles} } -@index{pluraldiscardperiod, - name={\catattrfmt{plural\-discard\-period}}, - category={categoryattribute}, - parent={categoryattribute} +@abbrvstylecommand{glsabbrvemfont, + name={\csfmt{gls\-abbrv\-em\-font}}, + user1={\margm{text}}, + description={used with \qt{em} abbreviation styles to format the +short form using \ics{emph}}, + topics={abbrstyle.long-em-short-em,abbrstyle.long-short-em,abbrstyle.long-short-em-desc,abbrstyle.short-em-long,abbrstyle.short-em-long-desc,abbrstyle.short-em-nolong,abbrstyle.short-em-nolong-desc,abbrstyle.nolong-short-em,abbrstyle.short-em-footnote,abbrstyle.short-em-postfootnote,abbrstyle.long-em-noshort-em,abbrstyle.long-em-noshort-em-desc,abbrstyle.long-em-noshort-em-desc-noreg,abbrstyle.long-em-noshort-em-noreg,abbrstyle.long-em-short-em-desc,abbrstyle.long-noshort-em,abbrstyle.long-noshort-em-desc}, + note={\styfmt{glossaries-extra} v1.04+}, + category={command} } -@index{retainfirstuseperiod, - name={\catattrfmt{retain\-first\-use\-period}}, - category={categoryattribute}, - parent={categoryattribute} +@abbrvstylecommand{glsfirstabbrvemfont, + name={\csfmt{gls\-first\-abbrv\-em\-font}}, + user1={\margm{text}}, + description={used with \qt{em} abbreviation styles to format the + short form on \idx{firstuse}. This defaults to \cs{glsabbrvemfont}}, + topics={abbrstyle.long-em-short-em,abbrstyle.long-short-em,abbrstyle.long-short-em-desc,abbrstyle.short-em-long,abbrstyle.short-em-long-desc,abbrstyle.short-em-nolong,abbrstyle.short-em-nolong-desc,abbrstyle.nolong-short-em,abbrstyle.short-em-footnote,abbrstyle.short-em-postfootnote,abbrstyle.long-em-short-em-desc,abbrstyle.long-em-noshort-em,abbrstyle.long-em-noshort-em-desc,abbrstyle.long-em-noshort-em-desc-noreg,abbrstyle.long-em-noshort-em-noreg,abbrstyle.long-noshort-em,abbrstyle.long-noshort-em-desc}, + note={\styfmt{glossaries-extra} v1.04+}, + category={command} } -@index{insertdots, - name={\catattrfmt{insert\-dots}}, - category={categoryattribute}, - parent={categoryattribute} +@abbrvstylecommand{glsxtremsuffix, + name={\csfmt{gls\-xtr\-em\-suffix}}, + description={the suffix used to construct the plural for + the short form of abbreviations with the \qt{em} styles. This + defaults to \cs{glsxtrabbrvpluralsuffix}}, + topics={abbrstyle.long-em-short-em,abbrstyle.long-short-em,abbrstyle.long-short-em-desc,abbrstyle.short-em-long,abbrstyle.short-em-long-desc,abbrstyle.short-em-nolong,abbrstyle.short-em-nolong-desc,abbrstyle.nolong-short-em,abbrstyle.short-em-footnote,abbrstyle.short-em-postfootnote,abbrstyle.long-em-noshort-em,abbrstyle.long-em-noshort-em-desc,abbrstyle.long-em-noshort-em-desc-noreg,abbrstyle.long-em-noshort-em-noreg,abbrstyle.long-noshort-em,abbrstyle.long-noshort-em-desc}, + note={\styfmt{glossaries-extra}}, + category={command} } -@index{accessinsertdots, - name={\catattrfmt{access\-insert\-dots}}, - category={categoryattribute}, - parent={categoryattribute} +@abbrvstylecommand{glslongemfont, + name={\csfmt{gls\-long\-em\-font}}, + user1={\margm{text}}, + description={used with \qt{long-em} abbreviation styles to format the +long form using \ics{emph}}, + topics={abbrstyle.long-em-short-em,abbrstyle.long-em-short-em-desc,abbrstyle.short-em-long-em,abbrstyle.short-em-long-em-desc,abbrstyle.long-em-noshort-em,abbrstyle.long-em-noshort-em-desc,abbrstyle.long-em-noshort-em-desc-noreg,abbrstyle.long-em-noshort-em-noreg}, + note={\styfmt{glossaries-extra} v1.04+}, + category={command} } -@index{tagging, - name={\catattrfmt{tagging}}, - category={categoryattribute}, - parent={categoryattribute} +@abbrvstylecommand{glsfirstlongemfont, + name={\csfmt{gls\-first\-long\-em\-font}}, + user1={\margm{text}}, + description={used with \qt{long-em} abbreviation styles to format the + long form on \idx{firstuse}. This defaults to \cs{glslongemfont}}, + topics={abbrstyle.long-em-short-em,abbrstyle.long-em-short-em-desc,abbrstyle.short-em-long-em,abbrstyle.short-em-long-em-desc,abbrstyle.long-em-noshort-em,abbrstyle.long-em-noshort-em-desc,abbrstyle.long-em-noshort-em-desc-noreg,abbrstyle.long-em-noshort-em-noreg}, + note={\styfmt{glossaries-extra} v1.04+}, + category={command} } -@index{nohyperfirst, - name={\catattrfmt{no\-hyper\-first}}, - category={categoryattribute}, - parent={categoryattribute} +@abbreviationstyle{abbrstyle.long-short-em-desc, + name={\abbrstylefmt{long\dhyphen short\dhyphen em\dhyphen desc}}, + description={this abbreviation style is like the + \abbrstyle{long-short-em} style but the \field{description} + field must be provided in the entry definition}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra}}, + parent={abbreviationstyles} } -@index{ctr.equation, - name={\counterfmt{equation}}, - category={counter} +@abbreviationstyle{abbrstyle.long-em-short-em, + name={\abbrstylefmt{long\dhyphen em\dhyphen short\dhyphen em}}, + description={this abbreviation style is like \abbrstyle{long-short} + but the short and long forms are displayed using an emphasized font}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04+}, + parent={abbreviationstyles} } -@index{ctr.page, - name={\counterfmt{page}}, - category={counter} +@abbreviationstyle{abbrstyle.long-em-short-em-desc, + name={\abbrstylefmt{long\dhyphen em\dhyphen short\dhyphen em\dhyphen desc}}, + description={this abbreviation style is like the + \abbrstyle{long-em-short-em} style but the \field{description} + field must be provided in the entry definition}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04+}, + parent={abbreviationstyles} } -@index{ctr.section, - name={\counterfmt{section}}, - category={counter} +@abbreviationstyle{abbrstyle.short-em-long, + name={\abbrstylefmt{short\dhyphen em\dhyphen long}}, + description={this abbreviation style is like \abbrstyle{short-long} + but the short form is displayed using an emphasized font}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra}}, + parent={abbreviationstyles} } -@index{ctr.chapter, - name={\counterfmt{chapter}}, - category={counter} +@abbreviationstyle{abbrstyle.short-em-long-desc, + name={\abbrstylefmt{short\dhyphen em\dhyphen long\dhyphen desc}}, + description={this abbreviation style is like the + \abbrstyle{short-em-long} style but the \field{description} + field must be provided in the entry definition}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra}}, + parent={abbreviationstyles} } -@index{ctr.wrglossary, - name={\counterfmt{wrglossary}}, - category={counter} +@abbreviationstyle{abbrstyle.short-em-long-em, + name={\abbrstylefmt{short\dhyphen em\dhyphen long\dhyphen em}}, + description={this abbreviation style is like \abbrstyle{short-long} + but the short and long forms are displayed using an emphasized font}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04+}, + parent={abbreviationstyles} } -@index{ctr.glossaryentry, - name={\counterfmt{glossaryentry}}, - category={counter} +@abbreviationstyle{abbrstyle.short-em-long-em-desc, + name={\abbrstylefmt{short\dhyphen em\dhyphen long\dhyphen em\dhyphen desc}}, + description={this abbreviation style is like the + \abbrstyle{short-em-long-em} style but the \field{description} + field must be provided in the entry definition}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04+}, + parent={abbreviationstyles} } -@index{ctr.glossarysubentry, - name={\counterfmt{glossarysubentry}}, - category={counter} +@abbreviationstyle{abbrstyle.short-em-nolong, + name={\abbrstylefmt{short\dhyphen em\dhyphen nolong}}, + description={this abbreviation style is like \abbrstyle{short-nolong} + but the short form is displayed using an emphasized font. This style + sets the \catattr{regular} attribute to \optfmt{true} for the + entry's category}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04+}, + parent={abbreviationstyles} } -@index{labelprefixes, - name={label prefixes}, - text={label prefix}, - plural={label prefixes} +@abbreviationstyle{abbrstyle.short-em, + name={\abbrstylefmt{short\dhyphen em}}, + description={an alias for \abbrstyle{short-em-nolong}}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra}}, + parent={abbreviationstyles} } -@index{idprefix.dual, - name={\idprefixfmt{dual}}, - category={idprefix}, - parent={labelprefixes} +@abbreviationstyle{abbrstyle.short-em-nolong-desc, + name={\abbrstylefmt{short\dhyphen em\dhyphen nolong\dhyphen desc}}, + description={this abbreviation style is like the + \abbrstyle{short-em-nolong} style but the \field{description} + field must be provided in the entry definition. This style + sets the \catattr{regular} attribute to \optfmt{true} for the + entry's category}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04+}, + parent={abbreviationstyles} } -@index{idprefix.tertiary, - name={\idprefixfmt{tertiary}}, - category={idprefix}, - parent={labelprefixes} +@abbreviationstyle{abbrstyle.short-em-desc, + name={\abbrstylefmt{short\dhyphen em\dhyphen desc}}, + description={an alias for \abbrstyle{short-em-nolong-desc}}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra}}, + parent={abbreviationstyles} } -@index{idprefix.extn, - name={\idprefixfmt{ext\meta{n}}}, - category={idprefix}, - parent={labelprefixes} +@abbreviationstyle{abbrstyle.nolong-short-em, + name={\abbrstylefmt{nolong\dhyphen short\dhyphen em}}, + description={this abbreviation style is like \abbrstyle{nolong-short} + but the short form is displayed using an emphasized font. This style + sets the \catattr{regular} attribute to \optfmt{true} for the + entry's category}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.21+}, + parent={abbreviationstyles} } -@index{packageoptions, - name={package options}, - text={package option} +@abbreviationstyle{abbrstyle.long-noshort-em, + name={\abbrstylefmt{long\dhyphen noshort\dhyphen em}}, + description={this abbreviation style is like \abbrstyle{long-noshort} + but the short form is displayed using an emphasized font. This style + sets the \catattr{regular} attribute to \optfmt{true} for the + entry's category}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04+}, + parent={abbreviationstyles} } -@dualindexentry{styopt.record, +@abbreviationstyle{abbrstyle.long-em-noshort-em, + name={\abbrstylefmt{long\dhyphen em\dhyphen noshort\dhyphen em}}, + description={this abbreviation style is like \abbrstyle{long-noshort} + but the long and short forms are displayed using an emphasized font. + This style sets the \catattr{regular} attribute to \optfmt{true} for the + entry's category}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04+}, + parent={abbreviationstyles} +} + +@abbreviationstyle{abbrstyle.long-em-noshort-em-noreg, + name={\abbrstylefmt{long\dhyphen em\dhyphen noshort\dhyphen em\dhyphen noreg}}, + description={this abbreviation style is like \abbrstyle{long-noshort-noreg} + but the long and short forms are displayed using an emphasized font}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.17+}, + parent={abbreviationstyles} +} + +@abbreviationstyle{abbrstyle.long-noshort-em-desc, + name={\abbrstylefmt{long\dhyphen noshort\dhyphen em\dhyphen desc}}, + description={this abbreviation style is like the + \abbrstyle{long-noshort-em} style but the \field{description} + field must be provided in the entry definition. This style + sets the \catattr{regular} attribute to \optfmt{true} for the + entry's category}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04+}, + parent={abbreviationstyles} +} + +@abbreviationstyle{abbrstyle.long-em-noshort-em-desc, + name={\abbrstylefmt{long\dhyphen em\dhyphen noshort\dhyphen em\dhyphen desc}}, + description={this abbreviation style is like the + \abbrstyle{long-em-noshort-em} style but the \field{description} + field must be provided in the entry definition. This style + sets the \catattr{regular} attribute to \optfmt{true} for the + entry's category}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04+}, + parent={abbreviationstyles} +} + +@abbreviationstyle{abbrstyle.long-em-noshort-em-desc-noreg, + name={\abbrstylefmt{long\dhyphen em\dhyphen noshort\dhyphen em\dhyphen desc\dhyphen noreg}}, + description={this abbreviation style is like the + \abbrstyle{long-em-noshort-em-noreg} style but the \field{description} + field must be provided in the entry definition}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.17+}, + parent={abbreviationstyles} +} + +@abbreviationstyle{abbrstyle.short-em-footnote, + name={\abbrstylefmt{short\dhyphen em\dhyphen footnote}}, + description={this abbreviation style is like \abbrstyle{short-footnote} + but the short form is displayed in an emphasized font}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04+}, + parent={abbreviationstyles} +} + +@abbreviationstyle{abbrstyle.short-em-postfootnote, + name={\abbrstylefmt{short\dhyphen em\dhyphen postfootnote}}, + description={this abbreviation style is like \abbrstyle{short-postfootnote} + but the short form is displayed in an emphasized font}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04+}, + parent={abbreviationstyles} +} + +@abbreviationstyle{abbrstyle.long-short-user, + name={\abbrstylefmt{long\dhyphen short\dhyphen user}}, + description={this abbreviation style is like \abbrstyle{long-short} + but the parenthetical material is governed by \cs{glsxtruserparen}}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04+}, + parent={abbreviationstyles} +} + +@abbrvstylecommand{glsxtruserfield, + name={\csfmt{gls\-xtr\-user\-field}}, + description={used by the parenthetical abbreviation styles, this + expands to the internal label of the field used to store the additional parenthetical + material. The default value is \field{useri}}, + topics={abbrstyle.long-short-user,abbrstyle.short-long-user,abbrstyle.long-postshort-user,abbrstyle.long-postshort-user-desc,abbrstyle.short-postlong-user-desc,abbrstyle.long-short-user-desc,abbrstyle.short-long-user-desc}, + note={\styfmt{glossaries-extra} v1.04+}, + category={command} +} + +@abbrvstylecommand{glsxtruserparen, + name={\csfmt{gls\-xtr\-user\-paren}}, + user1={\margm{text}\margm{label}}, + description={used by the \qt{user} abbreviation styles + to format the parenthetical material where \meta{text} + is the default parenthetical text and \meta{label} + is the entry's label. This checks the field given + by \cs{glsxtruserfield} and, if set, the \meta{text} is + followed by a comma and the user value}, + topics={abbrstyle.long-short-user,abbrstyle.short-long-user,abbrstyle.long-postshort-user,abbrstyle.long-postshort-user-desc,abbrstyle.short-postlong-user-desc,abbrstyle.long-short-user-desc,abbrstyle.short-long-user-desc}, + note={\styfmt{glossaries-extra} v1.04+}, + category={command} +} + +@abbrvstylecommand{glsabbrvuserfont, + name={\csfmt{gls\-abbrv\-user\-font}}, + user1={\margm{text}}, + description={used with \qt{user} abbreviation styles to + format the short form. The default definition just uses \cs{glsabbrvdefaultfont}}, + topics={abbrstyle.long-short-user,abbrstyle.short-long-user,abbrstyle.long-postshort-user,abbrstyle.long-postshort-user-desc,abbrstyle.short-postlong-user-desc,abbrstyle.long-short-user-desc,abbrstyle.short-long-user-desc}, + note={\styfmt{glossaries-extra} v1.04+}, + category={command} +} + +@abbrvstylecommand{glsfirstabbrvuserfont, + name={\csfmt{gls\-first\-abbrv\-user\-font}}, + user1={\margm{text}}, + description={used with \qt{user} abbreviation styles to + format the short form on \idx{firstuse}. The default definition just uses +\cs{glsabbrvuserfont}}, + topics={abbrstyle.long-short-user,abbrstyle.short-long-user,abbrstyle.long-postshort-user,abbrstyle.long-postshort-user-desc,abbrstyle.short-postlong-user-desc,abbrstyle.long-short-user-desc,abbrstyle.short-long-user-desc}, + note={\styfmt{glossaries-extra} v1.04+}, + category={command} +} + +@abbrvstylecommand{glslonguserfont, + name={\csfmt{gls\-long\-user\-font}}, + user1={\margm{text}}, + description={used with \qt{user} abbreviation styles to + format the long form. The default definition just uses \cs{glslongdefaultfont}}, + topics={abbrstyle.long-short-user,abbrstyle.short-long-user,abbrstyle.long-postshort-user,abbrstyle.long-postshort-user-desc,abbrstyle.short-postlong-user-desc,abbrstyle.long-short-user-desc,abbrstyle.short-long-user-desc}, + note={\styfmt{glossaries-extra} v1.04+}, + category={command} +} + +@abbrvstylecommand{glsfirstlonguserfont, + name={\csfmt{gls\-first\-long\-user\-font}}, + user1={\margm{text}}, + description={used with \qt{user} abbreviation styles to + format the long form on first use. The default definition just uses +\cs{glslonguserfont}}, + topics={abbrstyle.long-short-user,abbrstyle.short-long-user,abbrstyle.long-postshort-user,abbrstyle.long-postshort-user-desc,abbrstyle.short-postlong-user-desc,abbrstyle.long-short-user-desc,abbrstyle.short-long-user-desc}, + note={\styfmt{glossaries-extra} v1.04+}, + category={command} +} + +@abbrvstylecommand{glsxtrusersuffix, + name={\csfmt{gls\-xtr\-user\-suffix}}, + description={the suffix used to construct the plural for + the short form of abbreviations with the \qt{user} styles. + The default definition just uses \cs{glsxtrabbrvpluralsuffix}}, + topics={abbrstyle.long-short-user,abbrstyle.short-long-user,abbrstyle.long-postshort-user,abbrstyle.long-postshort-user-desc,abbrstyle.short-postlong-user-desc,abbrstyle.long-short-user-desc,abbrstyle.short-long-user-desc}, + note={\styfmt{glossaries-extra} v1.04+}, + category={command} +} + +@abbrvstylecommand{glsuserdescription, + name={\csfmt{gls\-user\-description}}, + user1={\margm{description}\margm{label}}, + description={used with \qt{user} abbreviation styles to + encapsulate the description. Just does + \code{\cs{glslonguserfont}\margm{description}} by default}, + topics={abbrstyle.long-short-user,abbrstyle.short-long-user,abbrstyle.long-postshort-user,abbrstyle.long-postshort-user-desc,abbrstyle.short-postlong-user-desc,abbrstyle.long-short-user-desc,abbrstyle.short-long-user-desc}, + note={\styfmt{glossaries-extra} v1.30+}, + category={command} +} + +@abbreviationstyle{abbrstyle.long-postshort-user, + name={\abbrstylefmt{long\dhyphen postshort\dhyphen user}}, + description={this abbreviation style is like \abbrstyle{long-short-user} + but the parenthetical material is moved to the \idx{postlinkhook}}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.12+}, + parent={abbreviationstyles} +} + +@abbrvstylecommand{glsxtrlongshortuserdescname, + name={\csfmt{gls\-xtr\-long\-short\-user\-desc\-name}}, + description={hook for the \abbrstyle{long-short-user-desc} abbreviation + styles that expands to the value that the \field{name} field is + assigned to when the abbreviation is defined with + \cs{newabbreviation} (defaults to the long form followed by the + parenthetical material)}, + topics={abbrstyle.long-postshort-user-desc,abbrstyle.long-short-user-desc}, + note={\styfmt{glossaries-extra} v1.25+}, + category={command} +} + +@abbreviationstyle{abbrstyle.long-postshort-user-desc, + name={\abbrstylefmt{long\dhyphen postshort\dhyphen user\dhyphen desc}}, + description={this abbreviation style is like the + \abbrstyle{long-postshort-user} style but the \field{description} + field must be provided in the entry definition}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.12+}, + parent={abbreviationstyles} +} + +@abbreviationstyle{abbrstyle.short-postlong-user, + name={\abbrstylefmt{short\dhyphen postlong\dhyphen user}}, + description={this abbreviation style is like \abbrstyle{short-long-user} + but the parenthetical material is moved to the \idx{postlinkhook}}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.12+}, + parent={abbreviationstyles} +} + +@abbrvstylecommand{glsxtrshortlonguserdescname, + name={\csfmt{gls\-xtr\-short\-long\-user\-desc\-name}}, + description={hook for the \abbrstyle{short-long-user-desc} abbreviation + styles that expands to the value that the \field{name} field is + assigned to when the abbreviation is defined with + \cs{newabbreviation} (defaults to the short form followed by the + parenthetical material)}, + topics={abbrstyle.short-postlong-user-desc,abbrstyle.short-long-user-desc}, + note={\styfmt{glossaries-extra} v1.25+}, + category={command} +} + +@abbreviationstyle{abbrstyle.short-postlong-user-desc, + name={\abbrstylefmt{short\dhyphen postlong\dhyphen user\dhyphen desc}}, + description={this abbreviation style is like the + \abbrstyle{short-postlong-user} style but the \field{description} + field must be provided in the entry definition}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.12+}, + parent={abbreviationstyles} +} + +@abbreviationstyle{abbrstyle.long-short-user-desc, + name={\abbrstylefmt{long\dhyphen short\dhyphen user\dhyphen desc}}, + description={this abbreviation style is like the + \abbrstyle{long-short-user} style but the \field{description} + field must be provided in the entry definition}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04+}, + parent={abbreviationstyles} +} + +@abbreviationstyle{abbrstyle.short-long-user, + name={\abbrstylefmt{short\dhyphen long\dhyphen user}}, + description={this abbreviation style is like \abbrstyle{short-long} + but the parenthetical material is governed by \cs{glsxtruserparen}}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04+}, + parent={abbreviationstyles} +} + +@abbreviationstyle{abbrstyle.short-long-user-desc, + name={\abbrstylefmt{short\dhyphen long\dhyphen user\dhyphen desc}}, + description={this abbreviation style is like the + \abbrstyle{short-long-user} style but the \field{description} + field must be provided in the entry definition}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.04+}, + parent={abbreviationstyles} +} + +@abbreviationstyle{abbrstyle.long-hyphen-short-hyphen, + name={\abbrstylefmt{long\dhyphen hyphen\dhyphen short\dhyphen +hyphen}}, + description={this abbreviation style is like \abbrstyle{long-short} + but is designed to work with the \catattr{markwords} attribute. If + the attribute is set, the style will check if the inserted + material (provided by the final optional argument of commands like + \cs{gls}) starts with a hyphen. If it does, the insert is added to + the parenthetical material}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.17+}, + parent={abbreviationstyles} +} + +@abbrvstylecommand{glsxtrifhyphenstart, + name={\csfmt{gls\-xtr\-if\-hyphen\-start}}, + user1={\margm{text}\margm{true}\margm{false}}, + description={used by the \qt{hyphen} abbreviation styles, this + checks if \meta{text} starts with a hyphen}, + topics={abbrstyle.long-hyphen-short-hyphen,abbrstyle.long-hyphen-short-hyphen-desc,abbrstyle.long-hyphen-noshort-desc-noreg,abbrstyle.long-hyphen-noshort-noreg,abbrstyle.long-hyphen-postshort-hyphen,abbrstyle.long-hyphen-postshort-hyphen-desc,abbrstyle.short-hyphen-long-hyphen,abbrstyle.short-hyphen-long-hyphen-desc,abbrstyle.short-hyphen-postlong-hyphen,abbrstyle.short-hyphen-postlong-hyphen-desc}, + note={\styfmt{glossaries-extra} v1.17+}, + category={command} +} + +@abbrvstylecommand{glsxtrlonghyphenshort, + name={\csfmt{gls\-xtr\-long\-hyphen\-short}}, + user1={\margm{label}\margm{long}\margm{short}\margm{insert}}, + description={used by the \qt{long\dhyphen hyphen\dhyphen + short\dhyphen hyphen} abbreviation styles to format the full form}, + topics={abbrstyle.long-hyphen-short-hyphen,abbrstyle.long-hyphen-short-hyphen-desc}, + note={\styfmt{glossaries-extra} v1.17+}, + category={command} +} + +@abbrvstylecommand{glsabbrvhyphenfont, + name={\csfmt{gls\-abbrv\-hyphen\-font}}, + user1={\margm{text}}, + description={used by the \qt{hyphen} abbreviation styles to format + the short form}, + topics={abbrstyle.long-hyphen-short-hyphen,abbrstyle.long-hyphen-short-hyphen-desc,abbrstyle.long-hyphen-postshort-hyphen,abbrstyle.long-hyphen-postshort-hyphen-desc,abbrstyle.short-hyphen-long-hyphen,abbrstyle.short-hyphen-long-hyphen-desc,abbrstyle.short-hyphen-postlong-hyphen,abbrstyle.short-hyphen-postlong-hyphen-desc}, + note={\styfmt{glossaries-extra} v1.17+}, + category={command} +} + +@abbrvstylecommand{glsfirstabbrvhyphenfont, + name={\csfmt{gls\-first\-abbrv\-hyphen\-font}}, + user1={\margm{text}}, + description={used by the \qt{hyphen} abbreviation styles to format + the short form on \idx{firstuse}}, + topics={abbrstyle.long-hyphen-short-hyphen,abbrstyle.long-hyphen-postshort-hyphen,abbrstyle.long-hyphen-postshort-hyphen-desc,abbrstyle.long-hyphen-short-hyphen-desc}, + note={\styfmt{glossaries-extra} v1.17+}, + category={command} +} + +@abbrvstylecommand{glslonghyphenfont, + name={\csfmt{gls\-long\-hyphen\-font}}, + user1={\margm{text}}, + description={used by the \qt{hyphen} abbreviation styles to format + the long form}, + topics={abbrstyle.long-hyphen-short-hyphen,abbrstyle.long-hyphen-noshort-desc-noreg,abbrstyle.long-hyphen-noshort-noreg,abbrstyle.long-hyphen-postshort-hyphen,abbrstyle.long-hyphen-postshort-hyphen-desc,abbrstyle.long-hyphen-short-hyphen-desc}, + note={\styfmt{glossaries-extra} v1.17+}, + category={command} +} + +@abbrvstylecommand{glsfirstlonghyphenfont, + name={\csfmt{gls\-first\-long\-hyphen\-font}}, + user1={\margm{text}}, + description={used by the \qt{hyphen} abbreviation styles to format + the long form on \idx{firstuse}}, + topics={abbrstyle.long-hyphen-short-hyphen,abbrstyle.long-hyphen-noshort-desc-noreg,abbrstyle.long-hyphen-noshort-noreg,abbrstyle.long-hyphen-postshort-hyphen,abbrstyle.long-hyphen-postshort-hyphen-desc,abbrstyle.long-hyphen-short-hyphen-desc}, + note={\styfmt{glossaries-extra} v1.17+}, + category={command} +} + +@abbrvstylecommand{glsxtrhyphensuffix, + name={\csfmt{gls\-xtr\-hyphen\-suffix}}, + description={the suffix used to construct the plural for + the short form of abbreviations with the \qt{hyphen} styles}, + topics={abbrstyle.long-hyphen-short-hyphen,abbrstyle.long-hyphen-postshort-hyphen,abbrstyle.long-hyphen-postshort-hyphen-desc,abbrstyle.long-hyphen-short-hyphen-desc}, + note={\styfmt{glossaries-extra} v1.17+}, + category={command} +} + +@abbreviationstyle{abbrstyle.long-hyphen-short-hyphen-desc, + name={\abbrstylefmt{long\dhyphen hyphen\dhyphen short\dhyphen +hyphen\dhyphen desc}}, + description={this abbreviation style is like the + \abbrstyle{long-hyphen-short-hyphen} style but the \field{description} + field must be provided in the entry definition}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.17+}, + parent={abbreviationstyles} +} + +@abbrvstylecommand{glsxtrlonghyphennoshort, + name={\csfmt{gls\-xtr\-long\-hyphen\-noshort}}, + user1={\margm{label}\margm{long}\margm{insert}}, + description={used by the \qt{long-hyphen-noshort} styles + to format the \idx{firstuse} form. This checks if the inserted + material starts with a hyphen and makes the appropriate + modifications}, + topics={abbrstyle.long-hyphen-noshort-desc-noreg,abbrstyle.long-hyphen-noshort-noreg}, + note={\styfmt{glossaries-extra} v1.17+}, + category={command} +} + +@abbreviationstyle{abbrstyle.long-hyphen-noshort-desc-noreg, + name={\abbrstylefmt{long\dhyphen hyphen\dhyphen noshort\dhyphen desc\dhyphen noreg}}, + description={this abbreviation style is like the + \abbrstyle{long-hyphen-noshort-noreg} style but the \field{description} + field must be provided in the entry definition. This + style won't work with the \catattr{regular} attribute set, as the + regular form isn't flexible enough}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.17+}, + parent={abbreviationstyles} +} + +@abbreviationstyle{abbrstyle.long-hyphen-noshort-noreg, + name={\abbrstylefmt{long\dhyphen hyphen\dhyphen noshort\dhyphen noreg}}, + description={this abbreviation style is like \abbrstyle{long-noshort} + but is designed to work with the \catattr{markwords} attribute and + the \catattr{regular} attribute isn't set to \optfmt{true}. This + style won't work with the \catattr{regular} attribute set, as the + regular form isn't flexible enough}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.17+}, + parent={abbreviationstyles} +} + +@abbreviationstyle{abbrstyle.long-hyphen-postshort-hyphen, + name={\abbrstylefmt{long\dhyphen hyphen\dhyphen postshort\dhyphen hyphen}}, + description={this abbreviation style is like the + \abbrstyle{long-hyphen-short-hyphen} style but the insert and + parenthetical material are moved into the \idx{postlinkhook}}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.17+}, + parent={abbreviationstyles} +} + +@abbrvstylecommand{glsxtrlonghyphen, + name={\csfmt{gls\-xtr\-long\-hyphen}}, + user1={\margm{long}\margm{label}\margm{insert}}, + description={used by the \abbrstyle{long-hyphen-postshort-hyphen} abbreviation + to format the long form and check if the \meta{insert} starts with + a hyphen}, + topics={abbrstyle.long-hyphen-postshort-hyphen}, + note={\styfmt{glossaries-extra} v1.17+}, + category={command} +} + +@abbrvstylecommand{glsxtrposthyphenshort, + name={\csfmt{gls\-xtr\-post\-hyphen\-short}}, + user1={\margm{label}\margm{insert}}, + description={used by the \abbrstyle{long-hyphen-postshort-hyphen} + style in the \idx{postlinkhook}}, + topics={abbrstyle.long-hyphen-postshort-hyphen}, + note={\styfmt{glossaries-extra} v1.17+}, + category={command} +} + +@abbrvstylecommand{glsxtrposthyphensubsequent, + name={\csfmt{gls\-xtr\-post\-hyphen\-sub\-sequent}}, + user1={\margm{label}\margm{insert}}, + description={used by the \abbrstyle{long-hyphen-postshort-hyphen} abbreviation + in the \idx{postlinkhook} for subsequent use}, + topics={abbrstyle.long-hyphen-postshort-hyphen}, + note={\styfmt{glossaries-extra} v1.17+}, + category={command} +} + +@abbreviationstyle{abbrstyle.long-hyphen-postshort-hyphen-desc, + name={\abbrstylefmt{long\dhyphen hyphen\dhyphen postshort\dhyphen +hyphen\dhyphen desc}}, + description={this abbreviation style is like the + \abbrstyle{long-hyphen-postshort-hyphen} style but the \field{description} + field must be provided in the entry definition}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.17+}, + parent={abbreviationstyles} +} + +@abbreviationstyle{abbrstyle.short-hyphen-long-hyphen, + name={\abbrstylefmt{short\dhyphen hyphen\dhyphen long\dhyphen hyphen}}, + description={this abbreviation style is like \abbrstyle{short-long} + but is designed to work with the \catattr{markwords} attribute. If + the attribute is set, the style will check if the inserted + material (provided by the final optional argument of commands like + \cs{gls}) starts with a hyphen. If it does, the insert is added to + the parenthetical material}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.17+}, + parent={abbreviationstyles} +} + +@abbrvstylecommand{glsxtrshorthyphenlong, + name={\csfmt{gls\-xtr\-short\-hyphen\-long}}, + user1={\margm{label}\margm{short}\margm{long}\margm{insert}}, + description={used by the \abbrstyle{short-hyphen-long-hyphen} style + to format the full form}, + topics={abbrstyle.short-hyphen-long-hyphen,abbrstyle.short-hyphen-long-hyphen-desc}, + note={\styfmt{glossaries-extra} v1.17+}, + category={command} +} + +@abbreviationstyle{abbrstyle.short-hyphen-long-hyphen-desc, + name={\abbrstylefmt{short\dhyphen hyphen\dhyphen long\dhyphen +hyphen\dhyphen desc}}, + description={this abbreviation style is like the + \abbrstyle{short-hyphen-long-hyphen} style but the \field{description} + field must be provided in the entry definition}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.17+}, + parent={abbreviationstyles} +} + +@abbreviationstyle{abbrstyle.short-hyphen-postlong-hyphen, + name={\abbrstylefmt{short\dhyphen hyphen\dhyphen postlong\dhyphen hyphen}}, + description={this abbreviation style is like the + \abbrstyle{short-hyphen-long-hyphen} style but the insert and + parenthetical material are moved into the \idx{postlinkhook}}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.17+}, + parent={abbreviationstyles} +} + +@abbrvstylecommand{glsxtrshorthyphen, + name={\csfmt{gls\-xtr\-short\-hyphen}}, + user1={\margm{short}\margm{label}\margm{insert}}, + description={used by the \qt{postlong-hyphen} styles + to format the short form and check if \meta{insert} starts with a hyphen}, + topics={abbrstyle.short-hyphen-postlong-hyphen}, + note={\styfmt{glossaries-extra} v1.17+}, + category={command} +} + +@abbrvstylecommand{glsxtrposthyphenlong, + name={\csfmt{gls\-xtr\-post\-hyphen\-long}}, + user1={\margm{label}\margm{insert}}, + description={used by the \qt{postlong-hyphen} + styles in the \idx{postlinkhook}}, + topics={abbrstyle.short-hyphen-postlong-hyphen}, + note={\styfmt{glossaries-extra} v1.17+}, + category={command} +} + +@abbreviationstyle{abbrstyle.short-hyphen-postlong-hyphen-desc, + name={\abbrstylefmt{short\dhyphen hyphen\dhyphen postlong\dhyphen +hyphen\dhyphen desc}}, + description={this abbreviation style is like the + \abbrstyle{short-hyphen-postlong-hyphen} style but the \field{description} + field must be provided in the entry definition}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.17+}, + parent={abbreviationstyles} +} + +@abbreviationstyle{abbrstyle.long-only-short-only, + name={\abbrstylefmt{long\dhyphen only\dhyphen short\dhyphen only}}, + description={this abbreviation style only displays the long form + on \idx{firstuse} and only the short form on subsequent use. The + inline full form shows the long form followed by the short form in + parentheses}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.17+}, + parent={abbreviationstyles} +} + +@abbrvstylecommand{glsabbrvonlyfont, + name={\csfmt{gls\-abbrv\-only\-font}}, + user1={\margm{text}}, + description={used with \qt{only} abbreviation styles to format the +short form. The default definition just uses \cs{glsabbrvdefaultfont}}, + topics={abbrstyle.long-only-short-only,abbrstyle.long-only-short-only-desc}, + note={\styfmt{glossaries-extra} v1.17+}, + category={command} +} + +@abbrvstylecommand{glsfirstabbrvonlyfont, + name={\csfmt{gls\-first\-abbrv\-only\-font}}, + user1={\margm{text}}, + description={used with \qt{only} abbreviation styles to format the +short form on \idx{firstuse}. The default definition just uses +\cs{glsabbrvonlyfont}}, + topics={abbrstyle.long-only-short-only,abbrstyle.long-only-short-only-desc}, + note={\styfmt{glossaries-extra} v1.17+}, + category={command} +} + +@abbrvstylecommand{glslongonlyfont, + name={\csfmt{gls\-long\-only\-font}}, + user1={\margm{text}}, + description={used with \qt{only} abbreviation styles to format the +long form. The default definition just uses \cs{glslongdefaultfont}}, + topics={abbrstyle.long-only-short-only,abbrstyle.long-only-short-only-desc}, + note={\styfmt{glossaries-extra} v1.17+}, + category={command} +} + +@abbrvstylecommand{glsfirstlongonlyfont, + name={\csfmt{gls\-first\-long\-only\-font}}, + user1={\margm{text}}, + description={used with \qt{only} abbreviation styles to format the +long form on \idx{firstuse}. The default definition just uses +\cs{glslongonlyfont}}, + topics={abbrstyle.long-only-short-only,abbrstyle.long-only-short-only-desc}, + note={\styfmt{glossaries-extra} v1.17+}, + category={command} +} + +@abbrvstylecommand{glsxtronlysuffix, + name={\csfmt{gls\-xtr\-only\-suffix}}, + description={the suffix used to construct the plural for + the short form of abbreviations with the \qt{only} styles. + The default definition just uses \cs{glsxtrabbrvpluralsuffix}}, + topics={abbrstyle.long-only-short-only}, + note={\styfmt{glossaries-extra} v1.17+}, + category={command} +} + +@abbrvstylecommand{glsxtronlyname, + name={\csfmt{gls\-xtr\-only\-name}}, + description={hook for the \abbrstyle{long-only-short-only} style + that expands to the value that the \field{name} field is assigned + to when the abbreviation is defined with \cs{newabbreviation} + (defaults to the short form)}, + topics={abbrstyle.long-only-short-only}, + note={\styfmt{glossaries-extra} v1.25+}, + category={command} +} + +@abbrvstylecommand{glsxtronlydescname, + name={\csfmt{gls\-xtr\-only\-desc\-name}}, + description={hook for the \abbrstyle{long-only-short-only-desc} style + that expands to the value that the \field{name} field is assigned + to when the abbreviation is defined with \cs{newabbreviation} + (defaults to the long form)}, + topics={abbrstyle.long-only-short-only-desc}, + note={\styfmt{glossaries-extra} v1.17+}, + category={command} +} + +@abbreviationstyle{abbrstyle.long-only-short-only-desc, + name={\abbrstylefmt{long\dhyphen only\dhyphen short\dhyphen only\dhyphen desc}}, + description={this abbreviation style is like the + \abbrstyle{long-only-short-only} style but the \field{description} + field must be provided in the entry definition}, + category={abbreviationstyle}, + note={\styfmt{glossaries-extra} v1.17+}, + parent={abbreviationstyles} +} + +@topic{glossarystyle, + name={glossary styles}, + text={glossary style}, + description={glossary styles are set using \ics{setglossarystyle} + or with the \styopt{style} package option or the + \printglossopt{style} option in \cs{printunsrtglossary}. + There are a number of styles provided in the supplementary packages. See the +\href{https://www.dickimaw-books.com/gallery/glossaries-styles/}{\styfmt{glossaries} + gallery of predefined styles}~\cite{glossarystylesgallery} for + samples of each style} +} + +@glossarystyle{glostyle.inline, + name={\glostylefmt{inline}}, + description={this style is designed for inline glossaries. The + \field{symbol}, \idx{locationlist} and child \field{name} are omitted + by default, but associated style commands may be redefined to + change this}, + category={glossarystyle}, + note={\styfmt{glossary-inline} v3.03+}, + parent={glossarystyle} +} + +@glostylecommand{glsinlinedopostchild, + name={\csfmt{gls\-in\-line\-do\-post\-child}}, + description={group headings aren't supported by default, but if + they are required, this command should be added to start of the definition + of \cs{glsgroupheading} in case a heading follows a child entry}, + category={command}, + note={\styfmt{glossary-inline} v3.03+}, + topics={glostyle.inline} +} + +@glostylecommand{glsinlineseparator, + name={\csfmt{gls\-in\-line\-separator}}, + description={separator between entries}, + category={command}, + note={\styfmt{glossary-inline} v3.03+}, + topics={glostyle.inline} +} + +@glostylecommand{glsinlinesubseparator, + name={\csfmt{gls\-in\-line\-sub\-separator}}, + description={separator between sub-entries}, + category={command}, + note={\styfmt{glossary-inline} v3.03+}, + topics={glostyle.inline} +} + +@glostylecommand{glsinlineparentchildseparator, + name={\csfmt{gls\-in\-line\-parent\-child\-separator}}, + description={separator between parent and child entries}, + category={command}, + note={\styfmt{glossary-inline} v3.03+}, + topics={glostyle.inline} +} + +@glostylecommand{glsinlinepostchild, + name={\csfmt{gls\-in\-line\-post\-child}}, + description={hook between child and next entry}, + category={command}, + note={\styfmt{glossary-inline} v3.03+}, + topics={glostyle.inline} +} + +@glostylecommand{glspostinline, + name={\csfmt{gls\-post-in\-line}}, + description={glossary terminator}, + category={command}, + note={\styfmt{glossary-inline} v3.03+}, + topics={glostyle.inline} +} + +@glostylecommand{glsinlinenameformat, + name={\csfmt{gls\-in\-line\-name\-format}}, + user1={\margm{label}\margm{name}}, + description={format's the entry's name including target, if + supported}, + category={command}, + note={\styfmt{glossary-inline} v3.03+}, + topics={glostyle.inline} +} + +@glostylecommand{glsinlinedescformat, + name={\csfmt{gls\-in\-line\-desc\-format}}, + user1={\margm{description}\margm{symbol}\margm{location list}}, + description={format's the entry's description, symbol and location + list. This ignores the symbol and location by default}, + category={command}, + note={\styfmt{glossary-inline} v3.03+}, + topics={glostyle.inline} +} + +@glossarystyle{glostyle.indexgroup, + name={\glostylefmt{indexgroup}}, + description={}, + category={glossarystyle}, + note={\styfmt{glossary-tree}}, + parent={glossarystyle} +} + +@glossarystyle{glostyle.mcolindexgroup, + name={\glostylefmt{mcolindexgroup}}, + category={glossarystyle}, + note={\styfmt{glossary-mcols}}, + parent={glossarystyle} +} + +@glossarystyle{glostyle.indexhypergroup, + name={\glostylefmt{indexhypergroup}}, + category={glossarystyle}, + note={\styfmt{glossary-tree}}, + parent={glossarystyle} +} + +@glossarystyle{glostyle.tree, + name={\glostylefmt{tree}}, + category={glossarystyle}, + note={\styfmt{glossary-tree}}, + parent={glossarystyle} +} + +@glossarystyle{glostyle.treegroup, + name={\glostylefmt{treegroup}}, + category={glossarystyle}, + note={\styfmt{glossary-tree}}, + parent={glossarystyle} +} + +@glossarystyle{glostyle.treenoname, + name={\glostylefmt{treenoname}}, + category={glossarystyle}, + note={\styfmt{glossary-tree}}, + parent={glossarystyle} +} + +@glossarystyle{glostyle.treenonamegroup, + name={\glostylefmt{treenonamegroup}}, + category={glossarystyle}, + note={\styfmt{glossary-tree}}, + parent={glossarystyle} +} + +@glossarystyle{glostyle.alttree, + name={\glostylefmt{alttree}}, + category={glossarystyle}, + note={\styfmt{glossary-tree}}, + parent={glossarystyle} +} + +@glossarystyle{glostyle.alttreegroup, + name={\glostylefmt{alttreegroup}}, + category={glossarystyle}, + note={\styfmt{glossary-tree}}, + parent={glossarystyle} +} + +@glossarystyle{glostyle.mcolalttree, + name={\glostylefmt{mcolalttree}}, + category={glossarystyle}, + note={\styfmt{glossary-mcols}}, + parent={glossarystyle} +} + +@glossarystyle{glostyle.mcolalttreegroup, + name={\glostylefmt{mcolalttreegroup}}, + category={glossarystyle}, + note={\styfmt{glossary-mcols}}, + parent={glossarystyle} +} + +@glossarystyle{glostyle.topic, + name={\glostylefmt{topic}}, + category={glossarystyle}, + note={\styfmt{glossary-topic} v1.40+}, + parent={glossarystyle} +} + +@glossarystyle{glostyle.topicmcols, + name={\glostylefmt{topicmcols}}, + category={glossarystyle}, + note={\styfmt{glossary-topic} v1.40+}, + parent={glossarystyle} +} + +@glossarystyle{glostyle.list, + name={\glostylefmt{list}}, + category={glossarystyle}, + note={\styfmt{glossary-list}}, + parent={glossarystyle} +} + +@glossarystyle{glostyle.altlist, + name={\glostylefmt{altlist}}, + category={glossarystyle}, + note={\styfmt{glossary-list}}, + parent={glossarystyle} +} + +@glossarystyle{glostyle.altlistgroup, + name={\glostylefmt{altlistgroup}}, + category={glossarystyle}, + note={\styfmt{glossary-list}}, + parent={glossarystyle} +} + +@glossarystyle{glostyle.index, + name={\glostylefmt{index}}, + category={glossarystyle}, + note={\styfmt{glossary-tree}}, + parent={glossarystyle} +} + +@glossarystyle{glostyle.bookindex, + name={\glostylefmt{bookindex}}, + category={glossarystyle}, + note={\styfmt{glossary-bookindex}}, + parent={glossarystyle} +} + +@glossarystyle{glostyle.long, + name={\glostylefmt{long}}, + category={glossarystyle}, + note={\styfmt{glossary-long}}, + parent={glossarystyle} +} + +@glossarystyle{glostyle.super, + name={\glostylefmt{super}}, + category={glossarystyle}, + note={\styfmt{glossary-long}}, + parent={glossarystyle} +} + +@glossarystyle{glostyle.long3col, + name={\glostylefmt{long3col}}, + category={glossarystyle}, + note={\styfmt{glossary-long}}, + parent={glossarystyle} +} + +@glossarystyle{glostyle.long3col-booktabs, + name={\glostylefmt{long3col\dhyphen booktabs}}, + category={glossarystyle}, + note={\styfmt{glossary-longbooktabs}}, + parent={glossarystyle} +} + +@index{categoryattribute, + name={category attributes}, + text={category attribute} +} + +@index{attribute, + name = {attributes}, + text = {attribute}, + alias = {categoryattribute} +} + +@categoryattribute{catattr.recordcount, + name={\catattrfmt{record\-count}}, + category={categoryattribute}, + parent={categoryattribute} +} + +@categoryattribute{catattr.glossname, + name={\catattrfmt{gloss\-name}}, + category={categoryattribute}, + parent={categoryattribute} +} + +@categoryattribute{catattr.glossnamefont, + name={\catattrfmt{gloss\-name\-font}}, + category={categoryattribute}, + parent={categoryattribute} +} + +@categoryattribute{catattr.glossdesc, + name={\catattrfmt{gloss\-desc}}, + category={categoryattribute}, + parent={categoryattribute} +} + +@categoryattribute{catattr.glossdescfont, + name={\catattrfmt{gloss\-desc\-font}}, + category={categoryattribute}, + parent={categoryattribute} +} + +@categoryattribute{catattr.textformat, + name={\catattrfmt{text\-format}}, + category={categoryattribute}, + parent={categoryattribute} +} + +@categoryattribute{catattr.headuc, + name={\catattrfmt{headuc}}, + category={categoryattribute}, + parent={categoryattribute} +} + +@categoryattribute{catattr.aposplural, + name={\catattrfmt{apos\-plural}}, + category={categoryattribute}, + parent={categoryattribute} +} + +@categoryattribute{catattr.accessaposplural, + name={\catattrfmt{access\-apos\-plural}}, + category={categoryattribute}, + parent={categoryattribute} +} + +@categoryattribute{catattr.noshortplural, + name={\catattrfmt{no\-short\-plural}}, + category={categoryattribute}, + parent={categoryattribute} +} + +@categoryattribute{catattr.accessnoshortplural, + name={\catattrfmt{access\-no\-short\-plural}}, + category={categoryattribute}, + parent={categoryattribute} +} + +@categoryattribute{catattr.nameshortaccess, + name={\catattrfmt{name\-short\-access}}, + category={categoryattribute}, + parent={categoryattribute} +} + +@categoryattribute{catattr.firstshortaccess, + name={\catattrfmt{first\-short\-access}}, + category={categoryattribute}, + parent={categoryattribute} +} + +@categoryattribute{catattr.textshortaccess, + name={\catattrfmt{text\-short\-access}}, + category={categoryattribute}, + parent={categoryattribute} +} + +@categoryattribute{catattr.markwords, + name={\catattrfmt{mark\-words}}, + category={categoryattribute}, + parent={categoryattribute} +} + +@categoryattribute{catattr.markshortwords, + name={\catattrfmt{mark\-short\-words}}, + category={categoryattribute}, + parent={categoryattribute} +} + +@categoryattribute{catattr.targeturl, + name={\catattrfmt{target\-url}}, + category={categoryattribute}, + parent={categoryattribute} +} + +@categoryattribute{catattr.targetname, + name={\catattrfmt{target\-name}}, + category={categoryattribute}, + parent={categoryattribute} +} + +@categoryattribute{catattr.externallocation, + name={\catattrfmt{external\-location}}, + category={categoryattribute}, + parent={categoryattribute} +} + +@categoryattribute{catattr.discardperiod, + name={\catattrfmt{discard\-period}}, + category={categoryattribute}, + parent={categoryattribute} +} + +@categoryattribute{catattr.pluraldiscardperiod, + name={\catattrfmt{plural\-discard\-period}}, + category={categoryattribute}, + parent={categoryattribute} +} + +@categoryattribute{catattr.retainfirstuseperiod, + name={\catattrfmt{retain\-first\-use\-period}}, + category={categoryattribute}, + parent={categoryattribute} +} + +@categoryattribute{catattr.insertdots, + name={\catattrfmt{insert\-dots}}, + category={categoryattribute}, + parent={categoryattribute} +} + +@categoryattribute{catattr.accessinsertdots, + name={\catattrfmt{access\-insert\-dots}}, + category={categoryattribute}, + parent={categoryattribute} +} + +@categoryattribute{catattr.tagging, + name={\catattrfmt{tagging}}, + category={categoryattribute}, + parent={categoryattribute} +} + +@categoryattribute{catattr.nohyperfirst, + name={\catattrfmt{no\-hyper\-first}}, + category={categoryattribute}, + parent={categoryattribute} +} + +@categoryattribute{catattr.nohyper, + name={\catattrfmt{no\-hyper}}, + category={categoryattribute}, + parent={categoryattribute} +} + +@categoryattribute{catattr.entrycount, + name={\catattrfmt{entry\-count}}, + category={categoryattribute}, + parent={categoryattribute} +} + +@categoryattribute{catattr.hyperoutside, + name={\catattrfmt{hyper\-outside}}, + category={categoryattribute}, + parent={categoryattribute} +} + +@categoryattribute{catattr.regular, + name={\catattrfmt{regular}}, + category={categoryattribute}, + parent={categoryattribute} +} + +@categoryattribute{catattr.wrgloss, + name={\catattrfmt{wrgloss}}, + category={categoryattribute}, + parent={categoryattribute} +} + +@counter{ctr.equation, + name={\counterfmt{equation}}, + category={counter} +} + +@counter{ctr.page, + name={\counterfmt{page}}, + category={counter} +} + +@counter{ctr.section, + name={\counterfmt{section}}, + category={counter} +} + +@counter{ctr.chapter, + name={\counterfmt{chapter}}, + category={counter} +} + +@counter{ctr.wrglossary, + name={\counterfmt{wrglossary}}, + category={counter} +} + +@counter{ctr.glossaryentry, + name={\counterfmt{glossaryentry}}, + category={counter} +} + +@counter{ctr.glossarysubentry, + name={\counterfmt{glossarysubentry}}, + category={counter} +} + +@index{labelprefixes, + name={label prefixes}, + text={label prefix}, + plural={label prefixes} +} + +@labelprefix{idprefix.dual, + name={\idprefixfmt{dual}}, + category={idprefix}, + parent={labelprefixes} +} + +@labelprefix{idprefix.tertiary, + name={\idprefixfmt{tertiary}}, + category={idprefix}, + parent={labelprefixes} +} + +@labelprefix{idprefix.extn, + name={\idprefixfmt{ext\meta{n}}}, + category={idprefix}, + parent={labelprefixes} +} + +@index{packageoptions, + name={package options}, + text={package option} +} + +@packageoption{styopt.record, name={\styoptfmt{record}}, user1={\meta{value}}, description={unless the value is \styoptfmt{off}, this option sets @@ -4559,7 +7103,7 @@ hyphen}}, parent={packageoptions} } -@dualindexentry{styopt.accsupp, +@packageoption{styopt.accsupp, name={\styoptfmt{accsupp}}, description={load the \sty{glossaries-accsupp} package to provide accessibility support}, @@ -4568,7 +7112,7 @@ hyphen}}, parent={packageoptions} } -@dualindexentry{styopt.abbreviations, +@packageoption{styopt.abbreviations, name={\styoptfmt{abbreviations}}, description={creates the \code{abbreviations} glossary}, package={glossaries-extra}, @@ -4576,7 +7120,7 @@ hyphen}}, parent={packageoptions} } -@dualindexentry{styopt.symbols, +@packageoption{styopt.symbols, name={\styoptfmt{symbols}}, package={glossaries,glossaries-extra}, description={defines the \code{symbols} glossary; with @@ -4586,7 +7130,7 @@ hyphen}}, parent={packageoptions} } -@dualindexentry{styopt.numbers, +@packageoption{styopt.numbers, name={\styoptfmt{numbers}}, package={glossaries,glossaries-extra}, description={defines the \code{numbers} glossary; with @@ -4596,7 +7140,7 @@ hyphen}}, parent={packageoptions} } -@dualindexentry{styopt.undefaction, +@packageoption{styopt.undefaction, name={\styoptfmt{undefaction}}, user1={\meta{value}}, description={indicates what to do if an undefined entry is @@ -4608,7 +7152,7 @@ hyphen}}, parent={packageoptions} } -@dualindexentry{styopt.indexcrossrefs, +@packageoption{styopt.indexcrossrefs, name={\styoptfmt{indexcrossrefs}}, user1={\meta{boolean}}, package={glossaries-extra}, @@ -4620,7 +7164,7 @@ hyphen}}, note={not relevant with \bibgls} } -@dualindexentry{styopt.autoseeindex, +@packageoption{styopt.autoseeindex, name={\styoptfmt{autoseeindex}}, user1={\meta{boolean}}, package={glossaries-extra}, @@ -4631,7 +7175,7 @@ hyphen}}, automatically indexes the cross-referenced term} } -@dualindexentry{styopt.nopostdot, +@packageoption{styopt.nopostdot, name={\styoptfmt{nopostdot}}, user1={\meta{boolean}}, package={glossaries,glossaries-extra}, @@ -4644,7 +7188,7 @@ hyphen}}, parent={packageoptions} } -@dualindexentry{styopt.postdot, +@packageoption{styopt.postdot, name={\styoptfmt{postdot}}, package={glossaries-extra}, description={equivalent to \styopt[dot]{postpunc}}, @@ -4652,7 +7196,7 @@ hyphen}}, parent={packageoptions} } -@dualindexentry{styopt.postpunc, +@packageoption{styopt.postpunc, name={\styoptfmt{postpunc}}, user1={\meta{value}}, package={glossaries-extra}, @@ -4666,7 +7210,7 @@ hyphen}}, adjusted), \meta{punctuation} (use \meta{punctuation})} } -@dualindexentry{styopt.indexcounter, +@packageoption{styopt.indexcounter, name={\styoptfmt{index\-counter}}, description={creates the \counter{wrglossary} counter, which is incremented every time an entry is indexed with that counter, and sets @@ -4676,7 +7220,7 @@ hyphen}}, parent={packageoptions} } -@dualindexentry{styopt.docdef, +@packageoption{styopt.docdef, name={\styoptfmt{docdef}}, user1={\meta{value}}, package={glossaries-extra}, @@ -4693,7 +7237,7 @@ hyphen}}, reference to the entry)} } -@dualindexentry{styopt.nomissingglstext, +@packageoption{styopt.nomissingglstext, name={\styoptfmt{nomissingglstext}}, user1={\meta{boolean}}, package={glossaries-extra}, @@ -4705,7 +7249,7 @@ hyphen}}, if the associated external file doesn't exist} } -@dualindexentry{styopt.stylemods, +@packageoption{styopt.stylemods, name={\styoptfmt{stylemods}}, user1={\meta{value}}, description={load the \sty{glossaries-extra-stylemods} package with the @@ -4719,7 +7263,7 @@ hyphen}}, parent={packageoptions} } -@dualindexentry{styopt.nowarn, +@packageoption{styopt.nowarn, name={\styoptfmt{nowarn}}, package={glossaries}, category={packageoption}, @@ -4727,7 +7271,7 @@ hyphen}}, description={suppresses all \styfmt{glossaries}-related warnings} } -@dualindexentry{styopt.nolangwarn, +@packageoption{styopt.nolangwarn, name={\styoptfmt{nolangwarn}}, package={glossaries}, category={packageoption}, @@ -4735,7 +7279,7 @@ hyphen}}, description={suppresses warnings generated by missing language modules} } -@dualindexentry{styopt.noredefwarn, +@packageoption{styopt.noredefwarn, name={\styoptfmt{noredefwarn}}, package={glossaries}, category={packageoption}, @@ -4744,7 +7288,7 @@ hyphen}}, provided by another class or package} } -@dualindexentry{styopt.debug, +@packageoption{styopt.debug, name={\styoptfmt{debug}}, user1={\meta{value}}, package={glossaries,glossaries-extra}, @@ -4760,7 +7304,7 @@ hyphen}}, \styoptfmt{showwrgloss})} } -@dualindexentry{styopt.seenoindex, +@packageoption{styopt.seenoindex, name={\styoptfmt{seenoindex}}, user1={\meta{value}}, package={glossaries}, @@ -4776,7 +7320,7 @@ hyphen}}, does nothing if used before \cs{cs.makeglossaries})} } -@dualindexentry{styopt.nomain, +@packageoption{styopt.nomain, name={\styoptfmt{nomain}}, package={glossaries}, category={packageoption}, @@ -4785,7 +7329,7 @@ hyphen}}, glossary. If used an alternative glossary must be created} } -@dualindexentry{styopt.sanitizesort, +@packageoption{styopt.sanitizesort, name={\styoptfmt{sanitizesort}}, user1={\meta{boolean}}, package={glossaries}, @@ -4793,10 +7337,10 @@ hyphen}}, parent={packageoptions}, note={not relevant with \bibgls}, description={determines whether or not - to sanitize the \field{sort} key} + to sanitize the \field{sort} key (not relevant with \bibgls)} } -@dualindexentry{styopt.savewrites, +@packageoption{styopt.savewrites, name={\styoptfmt{savewrites}}, user1={\meta{boolean}}, package={glossaries}, @@ -4809,7 +7353,7 @@ hyphen}}, glossary indexing file} } -@dualindexentry{styopt.translate, +@packageoption{styopt.translate, name={\styoptfmt{translate}}, user1={\meta{value}}, package={glossaries}, @@ -4825,7 +7369,7 @@ hyphen}}, \styfmt{translator} package, just load \styfmt{glossaries-babel})} } -@dualindexentry{styopt.notranslate, +@packageoption{styopt.notranslate, name={\styoptfmt{notranslate}}, package={glossaries}, category={packageoption}, @@ -4833,7 +7377,7 @@ hyphen}}, description={equivalent to \styopt[false]{translate}} } -@dualindexentry{styopt.nohypertypes, +@packageoption{styopt.nohypertypes, name={\styoptfmt{nohypertypes}}, user1={\meta{list}}, package={glossaries}, @@ -4842,7 +7386,7 @@ hyphen}}, description={suppress hyperlinks for the listed glossary types} } -@dualindexentry{styopt.hyperfirst, +@packageoption{styopt.hyperfirst, name={\styoptfmt{hyperfirst}}, user1={\meta{boolean}}, package={glossaries}, @@ -4853,7 +7397,7 @@ hyphen}}, \catattr{nohyperfirst} category attribute can selectively apply this)} } -@dualindexentry{styopt.indexonlyfirst, +@packageoption{styopt.indexonlyfirst, name={\styoptfmt{indexonlyfirst}}, user1={\meta{boolean}}, package={glossaries}, @@ -4862,7 +7406,7 @@ hyphen}}, description={if true, only performs indexing on first use} } -@dualindexentry{styopt.savenumberlist, +@packageoption{styopt.savenumberlist, name={\styoptfmt{savenumberlist}}, user1={\meta{boolean}}, package={glossaries}, @@ -4872,27 +7416,27 @@ hyphen}}, \bibgls\ use the \csopt{save-locations} resource option instead)} } -@dualindexentry{styopt.toc, +@packageoption{styopt.toc, name={\styoptfmt{toc}}, user1={\meta{boolean}}, package={glossaries}, category={packageoption}, parent={packageoptions}, description={if true (default for \styfmt{glossaries-extra}), - automatically add each glossary to the table of contents} + automatically add each glossary to the \glsxtrlong{toc}} } -@dualindexentry{styopt.numberline, +@packageoption{styopt.numberline, name={\styoptfmt{numberline}}, user1={\meta{boolean}}, package={glossaries}, category={packageoption}, parent={packageoptions}, description={when used with \styopt[true]{toc}, this will add - \code{\csfmt{numberline}\marg{}} to the start of the TOC entry} + \code{\csfmt{numberline}\marg{}} to the start of the \idx{toc} entry} } -@dualindexentry{styopt.section, +@packageoption{styopt.section, name={\styoptfmt{section}}, user1={\meta{value}}, package={glossaries}, @@ -4908,17 +7452,17 @@ hyphen}}, unstarred version is determined by \styopt{numberedsection}} } -@dualindexentry{styopt.ucmark, +@packageoption{styopt.ucmark, name={\styoptfmt{ucmark}}, user1={\meta{boolean}}, package={glossaries}, category={packageoption}, parent={packageoptions}, description={if true, converts the glossary mark (used in page - headings) to upper case with \cs{MakeTextUppercase}} + headings) to \idx{uppercase} with \cs{MakeTextUppercase}} } -@dualindexentry{styopt.numberedsection, +@packageoption{styopt.numberedsection, name={\styoptfmt{numberedsection}}, user1={\meta{value}}, package={glossaries}, @@ -4933,7 +7477,7 @@ hyphen}}, given \styoptfmt{nolabel} is assumed} } -@dualindexentry{styopt.entrycounter, +@packageoption{styopt.entrycounter, name={\styoptfmt{entrycounter}}, user1={\meta{boolean}}, package={glossaries}, @@ -4945,7 +7489,7 @@ hyphen}}, \cs{glsxtrpageref})} } -@dualindexentry{styopt.counterwithin, +@packageoption{styopt.counterwithin, name={\styoptfmt{counterwithin}}, user1={\meta{counter name}}, package={glossaries}, @@ -4955,7 +7499,7 @@ hyphen}}, indicates the master counter for \counter{glossaryentry}} } -@dualindexentry{styopt.subentrycounter, +@packageoption{styopt.subentrycounter, name={\styoptfmt{subentrycounter}}, user1={\meta{boolean}}, package={glossaries}, @@ -4968,7 +7512,7 @@ hyphen}}, independent of \styopt{entrycounter} and \counter{glossaryentry}} } -@dualindexentry{styopt.style, +@packageoption{styopt.style, name={\styoptfmt{style}}, user1={\meta{name}}, package={glossaries}, @@ -4977,7 +7521,7 @@ hyphen}}, parent={packageoptions} } -@dualindexentry{styopt.nolong, +@packageoption{styopt.nolong, name={\styoptfmt{nolong}}, package={glossaries}, description={prevents the \sty{glossary-long} package (which @@ -4987,7 +7531,7 @@ hyphen}}, parent={packageoptions} } -@dualindexentry{styopt.nosuper, +@packageoption{styopt.nosuper, name={\styoptfmt{nosuper}}, package={glossaries}, description={prevents the \sty{glossary-super} package (which @@ -4997,7 +7541,7 @@ hyphen}}, parent={packageoptions} } -@dualindexentry{styopt.nolist, +@packageoption{styopt.nolist, name={\styoptfmt{nolist}}, package={glossaries}, description={prevents the \sty{glossary-list} package (which @@ -5007,7 +7551,7 @@ hyphen}}, parent={packageoptions} } -@dualindexentry{styopt.notree, +@packageoption{styopt.notree, name={\styoptfmt{notree}}, package={glossaries}, category={packageoption}, @@ -5017,7 +7561,7 @@ hyphen}}, automatically loaded} } -@dualindexentry{styopt.nostyles, +@packageoption{styopt.nostyles, name={\styoptfmt{nostyles}}, package={glossaries}, description={prevents all the default styles from being loaded. If @@ -5028,7 +7572,7 @@ hyphen}}, parent={packageoptions} } -@dualindexentry{styopt.esclocations, +@packageoption{styopt.esclocations, name={\styoptfmt{esclocations}}, user1={\meta{boolean}}, package={glossaries}, @@ -5040,7 +7584,7 @@ hyphen}}, locations} } -@dualindexentry{styopt.nonumberlist, +@packageoption{styopt.nonumberlist, name={\styoptfmt{nonumberlist}}, package={glossaries}, description={suppresses the location lists from being @@ -5053,7 +7597,7 @@ hyphen}}, parent={packageoptions} } -@dualindexentry{styopt.seeautonumberlist, +@packageoption{styopt.seeautonumberlist, name={\styoptfmt{seeautonumberlist}}, package={glossaries}, category={packageoption}, @@ -5064,7 +7608,7 @@ hyphen}}, for the associated entry} } -@dualindexentry{styopt.counter, +@packageoption{styopt.counter, name={\styoptfmt{counter}}, user1={\meta{value}}, description={sets the default location counter to \meta{value} @@ -5076,7 +7620,7 @@ hyphen}}, parent={packageoptions} } -@dualindexentry{styopt.nogroupskip, +@packageoption{styopt.nogroupskip, name={\styoptfmt{nogroupskip}}, user1={\meta{boolean}}, description={if true, suppresses the visual separation between @@ -5086,7 +7630,7 @@ hyphen}}, parent={packageoptions} } -@dualindexentry{styopt.sort, +@packageoption{styopt.sort, name={\styoptfmt{sort}}, user1={\meta{value}}, note={not relevant with \bibgls, use the \csopt{sort} @@ -5104,7 +7648,7 @@ hyphen}}, parent={packageoptions} } -@dualindexentry{styopt.order, +@packageoption{styopt.order, name={\styoptfmt{order}}, user1={\meta{value}}, note={not relevant with \bibgls, use the \csopt{break-at} @@ -5115,7 +7659,7 @@ hyphen}}, parent={packageoptions} } -@dualindexentry{styopt.makeindex, +@packageoption{styopt.makeindex, name={\styoptfmt{makeindex}}, note={not relevant with \bibgls}, description={write the indexing @@ -5125,7 +7669,7 @@ hyphen}}, parent={packageoptions} } -@dualindexentry{styopt.xindy, +@packageoption{styopt.xindy, name={\styoptfmt{xindy}}, user1={\meta{settings}}, note={not relevant with \bibgls}, @@ -5138,7 +7682,7 @@ hyphen}}, parent={packageoptions} } -@dualindexentry{styopt.xindygloss, +@packageoption{styopt.xindygloss, name={\styoptfmt{xindygloss}}, package={glossaries}, category={packageoption}, @@ -5147,7 +7691,7 @@ hyphen}}, description={equivalent to \styopt[\empty]{xindy}} } -@dualindexentry{styopt.xindynoglsnumbers, +@packageoption{styopt.xindynoglsnumbers, name={\styoptfmt{xindynoglsnumbers}}, package={glossaries}, category={packageoption}, @@ -5156,7 +7700,7 @@ hyphen}}, description={equivalent to \styopt[glsnumbers=false]{xindy}} } -@dualindexentry{styopt.automake, +@packageoption{styopt.automake, name={\styoptfmt{automake}}, user1={\meta{boolean}}, description={if true, tries to use \TeX's shell escape to @@ -5167,7 +7711,7 @@ hyphen}}, parent={packageoptions} } -@dualindexentry{styopt.acronym, +@packageoption{styopt.acronym, name={\styoptfmt{acronym}}, user1={\meta{boolean}}, package={glossaries}, @@ -5176,7 +7720,7 @@ hyphen}}, description={if true, creates a new glossary with the label \code{acronym}} } -@dualindexentry{styopt.acronyms, +@packageoption{styopt.acronyms, name={\styoptfmt{acronyms}}, package={glossaries}, category={packageoption}, @@ -5184,7 +7728,7 @@ hyphen}}, description={equivalent to \styopt[true]{acronym}} } -@dualindexentry{styopt.acronymlists, +@packageoption{styopt.acronymlists, name={\styoptfmt{acronymlists}}, user1={\meta{list}}, package={glossaries}, @@ -5194,7 +7738,7 @@ hyphen}}, (don't use with \sty{glossaries-extra})} } -@dualindexentry{styopt.shortcuts, +@packageoption{styopt.shortcuts, name={\styoptfmt{shortcuts}}, package={glossaries,glossaries-extra}, user1={\meta{value}}, @@ -5215,7 +7759,7 @@ hyphen}}, parent={packageoptions} } -@dualindexentry{styopt.index, +@packageoption{styopt.index, name={\styoptfmt{index}}, package={glossaries}, description={defines the \code{index} glossary and \csref{newterm}}, @@ -5228,7 +7772,7 @@ hyphen}}, text={field} } -@dualindexentry{field.alias, +@field{field.alias, name={\fieldfmt{alias}}, description={The entry with this field set is a synonym of the entry whose label is given by this field.}, @@ -5237,7 +7781,7 @@ hyphen}}, parent={fields} } -@dualindexentry{field.category, +@field{field.category, name={\fieldfmt{category}}, description={The entry's category label.}, note={\styfmt{glossaries-extra}}, @@ -5245,7 +7789,7 @@ hyphen}}, parent={fields} } -@dualindexentry{field.description, +@field{field.description, name={\fieldfmt{description}}, description={The description displayed in the glossary.}, note={\styfmt{glossaries}}, @@ -5253,7 +7797,7 @@ hyphen}}, parent={fields} } -@dualindexentry{field.descriptionplural, +@field{field.descriptionplural, name={\fieldfmt{descriptionplural}}, description={The plural form of the description.}, note={\styfmt{glossaries}}, @@ -5261,7 +7805,7 @@ hyphen}}, parent={fields} } -@dualindexentry{field.first, +@field{field.first, name={\fieldfmt{first}}, description={The text to display on first use with \cs{gls}\margm{label}.}, note={\styfmt{glossaries}}, @@ -5269,7 +7813,7 @@ hyphen}}, parent={fields} } -@dualindexentry{field.firstplural, +@field{field.firstplural, name={\fieldfmt{firstplural}}, description={The text to display on first use with \cs{glspl}\margm{label}.}, note={\styfmt{glossaries}}, @@ -5277,7 +7821,7 @@ hyphen}}, parent={fields} } -@dualindexentry{field.long, +@field{field.long, name={\fieldfmt{long}}, description={The long form of an abbreviation. (Set internally by commands like \csref{newabbreviation}.)}, @@ -5286,7 +7830,7 @@ hyphen}}, parent={fields} } -@dualindexentry{field.longplural, +@field{field.longplural, name={\fieldfmt{longplural}}, description={The plural long form of an abbreviation.}, note={\styfmt{glossaries}}, @@ -5294,7 +7838,7 @@ hyphen}}, parent={fields} } -@dualindexentry{field.name, +@field{field.name, name={\fieldfmt{name}}, description={The name displayed in the glossary.}, note={\styfmt{glossaries}}, @@ -5302,15 +7846,16 @@ hyphen}}, parent={fields} } -@dualindexentry{field.parent, +@field{field.parent, name={\fieldfmt{parent}}, - description={The parent entry's label.}, + description={The parent entry's label. See + \sectionref{sec:logicaldivisions}.}, note={\styfmt{glossaries}}, category={basefield}, parent={fields} } -@dualindexentry{field.plural, +@field{field.plural, name={\fieldfmt{plural}}, description={The text to display on subsequent use of \cs{glspl}\margm{label}.}, @@ -5319,7 +7864,7 @@ hyphen}}, parent={fields} } -@dualindexentry{field.see, +@field{field.see, name={\fieldfmt{see}}, description={General purpose cross-reference (syntax: \code{see=\marg{\oargm{tag}\meta{xr-list}}}).}, @@ -5328,7 +7873,7 @@ hyphen}}, parent={fields} } -@dualindexentry{field.seealso, +@field{field.seealso, name={\fieldfmt{seealso}}, description={Cross-reference related entries (syntax: \code{seealso=\margm{xr-list}}).}, @@ -5337,7 +7882,7 @@ hyphen}}, parent={fields} } -@dualindexentry{field.short, +@field{field.short, name={\fieldfmt{short}}, description={The short form of an abbreviation. (Set internally by commands like \csref{newabbreviation}.)}, @@ -5346,7 +7891,7 @@ hyphen}}, parent={fields} } -@dualindexentry{field.shortplural, +@field{field.shortplural, name={\fieldfmt{shortplural}}, description={The plural short form of an abbreviation.}, note={\styfmt{glossaries}}, @@ -5354,7 +7899,7 @@ hyphen}}, parent={fields} } -@dualindexentry{field.symbol, +@field{field.symbol, name={\fieldfmt{symbol}}, description={The associated symbol.}, note={\styfmt{glossaries}}, @@ -5362,7 +7907,7 @@ hyphen}}, parent={fields} } -@dualindexentry{field.symbolplural, +@field{field.symbolplural, name={\fieldfmt{symbolplural}}, description={The plural form of the associated symbol.}, note={\styfmt{glossaries}}, @@ -5370,7 +7915,7 @@ hyphen}}, parent={fields} } -@dualindexentry{field.text, +@field{field.text, name={\fieldfmt{text}}, description={The text to display on subsequent use of \cs{gls}\margm{label}.}, @@ -5379,7 +7924,7 @@ hyphen}}, parent={fields} } -@dualindexentry{field.user1, +@field{field.user1, name={\fieldfmt{user1}}, description={A general purpose user field.}, note={\styfmt{glossaries}}, @@ -5387,7 +7932,7 @@ hyphen}}, parent={fields} } -@dualindexentry{field.user2, +@field{field.user2, name={\fieldfmt{user2}}, description={A general purpose user field.}, note={\styfmt{glossaries}}, @@ -5395,7 +7940,7 @@ hyphen}}, parent={fields} } -@dualindexentry{field.user3, +@field{field.user3, name={\fieldfmt{user3}}, description={A general purpose user field.}, note={\styfmt{glossaries}}, @@ -5403,7 +7948,7 @@ hyphen}}, parent={fields} } -@dualindexentry{field.user4, +@field{field.user4, name={\fieldfmt{user4}}, description={A general purpose user field.}, note={\styfmt{glossaries}}, @@ -5411,7 +7956,7 @@ hyphen}}, parent={fields} } -@dualindexentry{field.user5, +@field{field.user5, name={\fieldfmt{user5}}, description={A general purpose user field.}, note={\styfmt{glossaries}}, @@ -5419,7 +7964,7 @@ hyphen}}, parent={fields} } -@dualindexentry{field.user6, +@field{field.user6, name={\fieldfmt{user6}}, description={A general purpose user field.}, note={\styfmt{glossaries}}, @@ -5427,7 +7972,7 @@ hyphen}}, parent={fields} } -@dualindexentry{field.duallong, +@field{field.duallong, name={\fieldfmt{duallong}}, description={The long form of a dual abbreviation mapped by \atentry{dualabbreviation}.}, @@ -5436,8 +7981,8 @@ hyphen}}, parent={fields} } -@dualindexentry{field.duallongplural, - name={\fieldfmt{duallongplural}}, +@field{field.duallongplural, + name={\fieldfmt{dual\-long\-plural}}, description={The plural long form of a dual abbreviation mapped by \atentry{dualabbreviation}.}, note={\appfmt{bib2gls}}, @@ -5445,7 +7990,7 @@ hyphen}}, parent={fields} } -@dualindexentry{field.dualshort, +@field{field.dualshort, name={\fieldfmt{dualshort}}, description={The short form of a dual abbreviation mapped by \atentry{dualabbreviation}.}, @@ -5454,8 +7999,8 @@ hyphen}}, parent={fields} } -@dualindexentry{field.dualshortplural, - name={\fieldfmt{dualshortplural}}, +@field{field.dualshortplural, + name={\fieldfmt{dual\-short\-plural}}, description={The plural short form of a dual abbreviation mapped by \atentry{dualabbreviation}.}, note={\appfmt{bib2gls}}, @@ -5463,7 +8008,17 @@ hyphen}}, parent={fields} } -@dualindexentry{field.prefix, +@field{field.adoptparents, + name={\fieldfmt{adopt\-parents}}, + description={The list of adopted parents for entries spawned by + \atentry{progenitor}. (Field only available for use in + \ext{bib} file within \atentry{progenitor}-like entries.)}, + note={\appfmt{bib2gls}}, + category={bib2glsfield}, + parent={fields} +} + +@field{field.prefix, name={\fieldfmt{prefix}}, description={The prefix associated with the \field{text} field.}, @@ -5472,7 +8027,7 @@ hyphen}}, parent={fields} } -@dualindexentry{field.prefixfirst, +@field{field.prefixfirst, name={\fieldfmt{prefixfirst}}, description={The prefix associated with the \field{first} field.}, @@ -5481,7 +8036,7 @@ field.}, parent={fields} } -@dualindexentry{field.prefixfirstplural, +@field{field.prefixfirstplural, name={\fieldfmt{prefixfirstplural}}, description={The prefix associated with the \field{firstplural} field.}, @@ -5490,7 +8045,7 @@ field.}, parent={fields} } -@dualindexentry{field.prefixplural, +@field{field.prefixplural, name={\fieldfmt{prefixplural}}, description={The prefix associated with the \field{plural} field.}, @@ -5499,7 +8054,7 @@ field.}, parent={fields} } -@dualindexentry{field.access, +@field{field.access, name={\fieldfmt{access}}, description={The replacement text for the \field{name} field.}, note={\styfmt{glossaries-accsupp}}, @@ -5507,7 +8062,7 @@ field.}, parent={fields} } -@dualindexentry{field.descriptionaccess, +@field{field.descriptionaccess, name={\fieldfmt{descriptionaccess}}, description={The replacement text for the \field{description} field.}, @@ -5516,7 +8071,7 @@ field.}, parent={fields} } -@dualindexentry{field.descriptionpluralaccess, +@field{field.descriptionpluralaccess, name={\fieldfmt{descriptionpluralaccess}}, description={The replacement text for the \field{descriptionplural} field.}, @@ -5525,7 +8080,7 @@ field.}, parent={fields} } -@dualindexentry{field.firstaccess, +@field{field.firstaccess, name={\fieldfmt{firstaccess}}, description={The replacement text for the \field{first} field.}, note={\styfmt{glossaries-accsupp}}, @@ -5533,7 +8088,7 @@ field.}, parent={fields} } -@dualindexentry{field.firstpluralaccess, +@field{field.firstpluralaccess, name={\fieldfmt{firstpluralaccess}}, description={The replacement text for the \field{firstplural} field.}, @@ -5542,7 +8097,7 @@ field.}, parent={fields} } -@dualindexentry{field.longaccess, +@field{field.longaccess, name={\fieldfmt{longaccess}}, description={The replacement text for the \field{long} field.}, note={\styfmt{glossaries-accsupp}}, @@ -5550,7 +8105,7 @@ field.}, parent={fields} } -@dualindexentry{field.longpluralaccess, +@field{field.longpluralaccess, name={\fieldfmt{longpluralaccess}}, description={The replacement text for the \field{longplural} field.}, @@ -5559,7 +8114,7 @@ field.}, parent={fields} } -@dualindexentry{field.pluralaccess, +@field{field.pluralaccess, name={\fieldfmt{pluralaccess}}, description={The replacement text for the \field{plural} field.}, note={\styfmt{glossaries-accsupp}}, @@ -5567,7 +8122,7 @@ field.}, parent={fields} } -@dualindexentry{field.shortaccess, +@field{field.shortaccess, name={\fieldfmt{shortaccess}}, description={The replacement text for the \field{short} field.}, note={\styfmt{glossaries-accsupp}}, @@ -5575,7 +8130,7 @@ field.}, parent={fields} } -@dualindexentry{field.shortpluralaccess, +@field{field.shortpluralaccess, name={\fieldfmt{shortpluralaccess}}, description={The replacement text for the \field{shortplural} field.}, @@ -5584,7 +8139,7 @@ field.}, parent={fields} } -@dualindexentry{field.symbolaccess, +@field{field.symbolaccess, name={\fieldfmt{symbolaccess}}, description={The replacement text for the \field{symbol} field.}, note={\styfmt{glossaries-accsupp}}, @@ -5592,7 +8147,7 @@ field.}, parent={fields} } -@dualindexentry{field.symbolpluralaccess, +@field{field.symbolpluralaccess, name={\fieldfmt{symbolpluralaccess}}, description={The replacement text for the \field{symbolplural} field.}, @@ -5601,7 +8156,7 @@ field.}, parent={fields} } -@dualindexentry{field.textaccess, +@field{field.textaccess, name={\fieldfmt{textaccess}}, description={The replacement text for the \field{text} field.}, @@ -5615,7 +8170,7 @@ field.}, text={internal fields} } -@dualindexentry{field.childcount, +@field{field.childcount, name={\fieldfmt{childcount}}, description={Stores the number of children this entry has had selected.}, @@ -5624,7 +8179,7 @@ field.}, parent={internalfields} } -@dualindexentry{field.childlist, +@field{field.childlist, name={\fieldfmt{childlist}}, description={A list of labels (in \sty{etoolbox}'s internal list format) of the children this entry has had selected.}, @@ -5633,7 +8188,16 @@ field.}, parent={internalfields} } -@dualindexentry{field.primarylocations, +@field{field.originalentrytype, + name={\fieldfmt{original\-entry\-type}}, + description={The original entry type before any aliasing was + applied or the actual entry type if no aliasing.}, + note={internal field set by \appfmt{bib2gls}}, + category={internalfield}, + parent={internalfields} +} + +@field{field.primarylocations, name={\fieldfmt{primarylocations}}, description={Stores the locations that use one of the designated primary formats, if enabled.}, @@ -5642,7 +8206,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.indexcounter, +@field{field.indexcounter, name={\fieldfmt{index\-counter}}, description={Stores the location corresponding to the matching \counter{wrglossary} reference.}, @@ -5651,7 +8215,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.counter, +@field{field.counter, name={\fieldfmt{counter}}, description={The default counter used for indexing (assigned by the \csopt{counter} option).}, @@ -5660,16 +8224,17 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.group, +@field{field.group, name={\fieldfmt{group}}, description={The letter group determined by the comparator - (or assigned by the \csopt{group} option).}, + (or assigned by the \csopt{group} option). See + \sectionref{sec:logicaldivisions}.}, note={internal field set by \appfmt{bib2gls}}, category={internalfield}, parent={internalfields} } -@dualindexentry{field.location, +@field{field.location, name={\fieldfmt{location}}, description={The typeset location list.}, note={internal field set by \appfmt{bib2gls}}, @@ -5677,7 +8242,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.loclist, +@field{field.loclist, name={\fieldfmt{loclist}}, description={The internal list of locations.}, note={internal field set by \appfmt{bib2gls}}, @@ -5685,7 +8250,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.recordcount, +@field{field.recordcount, name={\fieldfmt{recordcount}}, description={Used with record counting to store the total record count.}, @@ -5694,7 +8259,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.recordcount.counter, +@field{field.recordcount.counter, name={\fieldfmt{recordcount.\discretionary{}{}{}\meta{counter}}}, description={Used with record counting to store the total number of records for a given counter.}, @@ -5703,7 +8268,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.recordcount.counter.location, +@field{field.recordcount.counter.location, name={\fieldfmt{recordcount.\discretionary{}{}{}\meta{counter}.\discretionary{}{}{}\meta{location}}}, description={Used with record counting to store the total number of records for a given location.}, @@ -5712,7 +8277,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.secondarygroup, +@field{field.secondarygroup, name={\fieldfmt{secondarygroup}}, description={The letter group determined by the comparator used with the \csopt{secondary} sort.}, @@ -5721,7 +8286,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.secondarysort, +@field{field.secondarysort, name={\fieldfmt{secondarysort}}, description={The sort value determined by the comparator used with the \csopt{secondary} sort.}, @@ -5730,7 +8295,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.dual, +@field{field.dual, name={\fieldfmt{dual}}, description={Created by \csopt{dual-field} if set with no value, this field is used to store the dual label.}, @@ -5739,7 +8304,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.sort, +@field{field.sort, name={\fieldfmt{sort}}, description={The sort value obtained by the comparator.}, note={internal field set by \appfmt{bib2gls}}, @@ -5747,16 +8312,17 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.type, +@field{field.type, name={\fieldfmt{type}}, description={The glossary this entry belongs to (assigned by - the \csopt{type} option).}, + the \csopt{type} option). See + \sectionref{sec:logicaldivisions}.}, note={internal field set by \appfmt{bib2gls}}, category={internalfield}, parent={internalfields} } -@dualindexentry{field.fieldendpunc, +@field{field.fieldendpunc, name={\meta{field}\fieldfmt{endpunc}}, description={Used with the \csopt{check-end-punctuation} option.}, @@ -5765,7 +8331,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.bibtextype, +@field{field.bibtextype, name={\fieldfmt{bib\-tex\-type}}, description={Used by \bibgls\ as a substitution for \BibTeX's \fieldfmt{type} field when parsing \atentry{bibtexentry}. Needs @@ -5775,7 +8341,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.bibtexcontributor, +@field{field.bibtexcontributor, name={\fieldfmt{bib\-tex\-con\-trib\-u\-tor}}, description={An internal list field provided when a \atentry{contributor} entry is automatically @@ -5785,7 +8351,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.bibtexentry, +@field{field.bibtexentry, name={\fieldfmt{bib\-tex\-entry}}, description={An internal list field created by \atentry{bibtexentry}.}, note={internal field set by \bibgls}, @@ -5793,7 +8359,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.bibtexentry@entrytype, +@field{field.bibtexentry@entrytype, name={\fieldfmt{bib\-tex\-entry\-@\meta{entry-type}}}, description={An internal list field created by \atentry{bibtexentry}.}, note={internal field set by \bibgls}, @@ -5801,7 +8367,25 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.currcount, +@field{field.progeny, + name={\fieldfmt{progeny}}, + description={A comma-separated list of labels identifying + the entries spawned by \atentry{progenitor}.}, + note={internal field set by \appfmt{bib2gls}}, + category={internalfield}, + parent={internalfields} +} + +@field{field.progenitor, + name={\fieldfmt{progenitor}}, + description={The label identifying the \atentry{progenitor} + that spawned this entry.}, + note={internal field set by \appfmt{bib2gls}}, + category={internalfield}, + parent={internalfields} +} + +@field{field.currcount, name={\fieldfmt{currcount}}, description={Used with entry counting to store the current total.}, note={internal field set by \styfmt{glossaries}}, @@ -5809,7 +8393,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.currcountunit, +@field{field.currcountunit, name={\fieldfmt{currcount@}\meta{value}}, description={Used with unit entry counting (\styfmt{glossaries-extra}).}, note={internal field set by \styfmt{glossaries-extra}}, @@ -5817,7 +8401,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.desc, +@field{field.desc, name={\fieldfmt{desc}}, description={Corresponds to \field{description} key.}, note={internal field set by \styfmt{glossaries}}, @@ -5825,7 +8409,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.descplural, +@field{field.descplural, name={\fieldfmt{descplural}}, description={Corresponds to \field{descriptionplural} key.}, note={internal field set by \styfmt{glossaries}}, @@ -5833,7 +8417,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.firstpl, +@field{field.firstpl, name={\fieldfmt{firstpl}}, description={Corresponds to \field{firstplural} key.}, note={internal field set by \styfmt{glossaries}}, @@ -5841,7 +8425,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.flag, +@field{field.flag, name={\fieldfmt{flag}}, description={Boolean that determines if an entry has been used.}, note={internal field set by \styfmt{glossaries}}, @@ -5849,7 +8433,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.index, +@field{field.index, name={\fieldfmt{index}}, description={The main part of the indexing code (\appfmt{makeindex} or \appfmt{xindy}).}, @@ -5858,7 +8442,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.level, +@field{field.level, name={\fieldfmt{level}}, description={Hierarchical level.}, note={internal field set by \styfmt{glossaries}}, @@ -5866,7 +8450,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.longpl, +@field{field.longpl, name={\fieldfmt{longpl}}, description={Corresponds to \field{longplural} key.}, note={internal field set by \styfmt{glossaries}}, @@ -5874,7 +8458,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.nonumberlist, +@field{field.nonumberlist, name={\fieldfmt{nonumberlist}}, description={Used to suppress the location list for a specific entry.}, note={internal field set by \styfmt{glossaries}}, @@ -5882,7 +8466,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.prevcount, +@field{field.prevcount, name={\fieldfmt{prevcount}}, description={Used with entry counting to store the total from the previous run.}, @@ -5891,7 +8475,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.prevcountunit, +@field{field.prevcountunit, name={\fieldfmt{prevcount@}\meta{value}}, description={Used with unit entry counting (\styfmt{glossaries-extra}).}, @@ -5900,7 +8484,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.prevunitmax, +@field{field.prevunitmax, name={\fieldfmt{prevunitmax}}, description={Used with unit entry counting (\styfmt{glossaries-extra}).}, @@ -5909,7 +8493,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.prevunittotal, +@field{field.prevunittotal, name={\fieldfmt{prevunittotal}}, description={Used with unit entry counting (\styfmt{glossaries-extra}).}, @@ -5918,7 +8502,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.shortpl, +@field{field.shortpl, name={\fieldfmt{shortpl}}, description={Corresponds to \field{shortplural} key.}, note={internal field set by \styfmt{glossaries}}, @@ -5926,7 +8510,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.sortvalue, +@field{field.sortvalue, name={\fieldfmt{sortvalue}}, description={Original \field{sort} value (before sanitizing and escaping special characters).}, @@ -5935,7 +8519,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.unitlist, +@field{field.unitlist, name={\fieldfmt{unitlist}}, description={Used with unit entry counting (\styfmt{glossaries-extra}).}, @@ -5944,7 +8528,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.useri, +@field{field.useri, name={\fieldfmt{useri}}, description={Corresponds to \field{user1} key.}, note={internal field set by \styfmt{glossaries}}, @@ -5952,7 +8536,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.userii, +@field{field.userii, name={\fieldfmt{userii}}, description={Corresponds to \field{user2} key.}, note={internal field set by \styfmt{glossaries}}, @@ -5960,7 +8544,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.useriii, +@field{field.useriii, name={\fieldfmt{useriii}}, description={Corresponds to \field{user3} key.}, note={internal field set by \styfmt{glossaries}}, @@ -5968,7 +8552,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.useriv, +@field{field.useriv, name={\fieldfmt{useriv}}, description={Corresponds to \field{user4} key.}, note={internal field set by \styfmt{glossaries}}, @@ -5976,7 +8560,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.userv, +@field{field.userv, name={\fieldfmt{userv}}, description={Corresponds to \field{user5} key.}, note={internal field set by \styfmt{glossaries}}, @@ -5984,7 +8568,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.uservi, +@field{field.uservi, name={\fieldfmt{uservi}}, description={Corresponds to \field{user6} key.}, note={internal field set by \styfmt{glossaries}}, @@ -5992,7 +8576,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.bib2gls@sort, +@field{field.bib2gls@sort, name={\fieldfmt{bib2gls@sort}}, description={Used by \bibgls\ to store the actual sort value.}, note={internal field set by \bibgls}, @@ -6000,7 +8584,7 @@ primary formats, if enabled.}, parent={internalfields} } -@dualindexentry{field.bib2gls@sortfallback, +@field{field.bib2gls@sortfallback, name={\fieldfmt{bib2gls@sortfallback}}, description={Used by \bibgls\ to store the sort fallback value.}, note={internal field set by \bibgls}, @@ -6013,140 +8597,200 @@ primary formats, if enabled.}, text={entry type} } -@dualindexentry{entry.string, +@entrytype{entry.string, name={\atentryfmt{string}}, category={entrytype}, parent={entrytypes} } -@dualindexentry{entry.preamble, +@entrytype{entry.preamble, name={\atentryfmt{preamble}}, category={entrytype}, parent={entrytypes} } -@dualindexentry{entry.entry, +@entrytype{entry.comment, + name={\atentryfmt{comment}}, + category={entrytype}, + parent={entrytypes} +} + +@entrytype{entry.entry, name={\atentryfmt{entry}}, category={entrytype}, parent={entrytypes} } -@dualindexentry{entry.symbol, +@entrytype{entry.symbol, name={\atentryfmt{symbol}}, category={entrytype}, parent={entrytypes} } -@dualindexentry{entry.number, +@entrytype{entry.number, name={\atentryfmt{number}}, category={entrytype}, parent={entrytypes} } -@dualindexentry{entry.index, +@entrytype{entry.index, name={\atentryfmt{index}}, category={entrytype}, parent={entrytypes} } -@dualindexentry{entry.indexplural, +@entrytype{entry.indexplural, name={\atentryfmt{indexplural}}, category={entrytype}, parent={entrytypes} } -@dualindexentry{entry.abbreviation, +@entrytype{entry.abbreviation, name={\atentryfmt{abbreviation}}, category={entrytype}, parent={entrytypes} } -@dualindexentry{entry.acronym, +@entrytype{entry.acronym, name={\atentryfmt{acronym}}, category={entrytype}, parent={entrytypes} } -@dualindexentry{entry.dualentry, +@entrytype{entry.dualentry, name={\atentryfmt{dual\-entry}}, category={entrytype}, parent={entrytypes} } -@dualindexentry{entry.dualindexentry, +@entrytype{entry.dualindexentry, name={\atentryfmt{dual\-index\-entry}}, category={entrytype}, parent={entrytypes} } -@dualindexentry{entry.dualindexabbreviation, +@entrytype{entry.dualindexabbreviation, name={\atentryfmt{dual\-index\-abbre\-via\-tion}}, category={entrytype}, parent={entrytypes} } -@dualindexentry{entry.dualindexsymbol, +@entrytype{entry.dualindexsymbol, name={\atentryfmt{dual\-index\-symbol}}, category={entrytype}, parent={entrytypes} } -@dualindexentry{entry.dualindexnumber, +@entrytype{entry.dualindexnumber, name={\atentryfmt{dual\-index\-number}}, category={entrytype}, parent={entrytypes} } -@dualindexentry{entry.dualabbreviationentry, +@entrytype{entry.dualabbreviationentry, name={\atentryfmt{dual\-abbre\-via\-tion\-entry}}, category={entrytype}, parent={entrytypes} } -@dualindexentry{entry.dualentryabbreviation, +@entrytype{entry.dualentryabbreviation, name={\atentryfmt{dual\-entry\-abbre\-via\-tion}}, category={entrytype}, parent={entrytypes} } -@dualindexentry{entry.dualsymbol, +@entrytype{entry.dualsymbol, name={\atentryfmt{dual\-symbol}}, category={entrytype}, parent={entrytypes} } -@dualindexentry{entry.dualnumber, +@entrytype{entry.dualnumber, name={\atentryfmt{dual\-number}}, category={entrytype}, parent={entrytypes} } -@dualindexentry{entry.dualabbreviation, +@entrytype{entry.dualabbreviation, name={\atentryfmt{dual\-abbre\-via\-tion}}, category={entrytype}, parent={entrytypes} } -@dualindexentry{entry.dualacronym, +@entrytype{entry.dualacronym, name={\atentryfmt{dual\-acronym}}, category={entrytype}, parent={entrytypes} } -@dualindexentry{entry.tertiaryindexabbreviationentry, - name={\atentryfmt{tert\-iary\-index\-abbre\-via\-tion\-entry}}, +@entrytype{entry.tertiaryindexabbreviationentry, + name={\atentryfmt{tert\-iary\-index\-abbre\-via\-tion\-entry}}, + category={entrytype}, + parent={entrytypes} +} + +@entrytype{entry.bibtexentry, + name={\atentryfmt{bib\-tex\-entry}}, + category={entrytype}, + parent={entrytypes} +} + +@entrytype{entry.contributor, + name={\atentryfmt{contributor}}, + category={entrytype}, + parent={entrytypes} +} + +@entrytype{entry.progenitor, + name={\atentryfmt{progenitor}}, + category={entrytype}, + parent={entrytypes} +} + +@entrytype{entry.spawnindex, + name={\atentryfmt{spawn\-index}}, + category={entrytype}, + parent={entrytypes} +} + +@entrytype{entry.spawnindexplural, + name={\atentryfmt{spawn\-index\-plural}}, + category={entrytype}, + parent={entrytypes} +} + +@entrytype{entry.spawnentry, + name={\atentryfmt{spawn\-entry}}, + category={entrytype}, + parent={entrytypes} +} + +@entrytype{entry.spawnsymbol, + name={\atentryfmt{spawn\-symbol}}, + category={entrytype}, + parent={entrytypes} +} + +@entrytype{entry.spawnnumber, + name={\atentryfmt{spawn\-number}}, + category={entrytype}, + parent={entrytypes} +} + +@entrytype{entry.spawnabbreviation, + name={\atentryfmt{spawn\-abbreviation}}, category={entrytype}, parent={entrytypes} } -@dualindexentry{entry.bibtexentry, - name={\atentryfmt{bib\-tex\-entry}}, +@entrytype{entry.spawnacronym, + name={\atentryfmt{spawn\-acronym}}, category={entrytype}, parent={entrytypes} } -@dualindexentry{entry.contributor, - name={\atentryfmt{contributor}}, +@entrytype{entry.spawndualindexentry, + name={\atentryfmt{spawn\-dual\-index\-entry}}, category={entrytype}, parent={entrytypes} } @@ -6163,7 +8807,7 @@ primary formats, if enabled.}, text={command line option} } -@dualindexentry{switch.help, +@switch{switch.help, name={\longargfmt{help}}, symbol={\shortargfmt{h}}, user1={}, @@ -6171,7 +8815,7 @@ primary formats, if enabled.}, parent={commandlineoptions} } -@dualindexentry{switch.version, +@switch{switch.version, name={\longargfmt{version}}, symbol={\shortargfmt{v}}, user1={}, @@ -6179,14 +8823,14 @@ primary formats, if enabled.}, parent={commandlineoptions} } -@dualindexentry{switch.debug, +@switch{switch.debug, name={\longargfmt{debug}}, user1={\oargm{n}}, category={switch}, parent={commandlineoptions} } -@dualindexentry{switch.no-debug, +@switch{switch.no-debug, name={\longargfmt{no\dhyphen debug}}, symbol={\longargfmt{nodebug}}, user1={}, @@ -6194,14 +8838,14 @@ primary formats, if enabled.}, parent={commandlineoptions} } -@dualindexentry{switch.verbose, +@switch{switch.verbose, name={\longargfmt{verbose}}, user1={}, category={switch}, parent={commandlineoptions} } -@dualindexentry{switch.no-verbose, +@switch{switch.no-verbose, name={\longargfmt{no\dhyphen verbose}}, symbol={\longargfmt{noverbose}}, user1={}, @@ -6209,14 +8853,14 @@ primary formats, if enabled.}, parent={commandlineoptions} } -@dualindexentry{switch.silent, +@switch{switch.silent, name={\longargfmt{silent}}, user1={}, category={switch}, parent={commandlineoptions} } -@dualindexentry{switch.locale, +@switch{switch.locale, name={\longargfmt{locale}}, symbol={\shortargfmt{l}}, user1={\meta{lang}}, @@ -6224,7 +8868,7 @@ primary formats, if enabled.}, parent={commandlineoptions} } -@dualindexentry{switch.log-file, +@switch{switch.log-file, name={\longargfmt{log\dhyphen file}}, symbol={\shortargfmt{t}}, user1={\meta{filename}}, @@ -6232,7 +8876,7 @@ primary formats, if enabled.}, parent={commandlineoptions} } -@dualindexentry{switch.dir, +@switch{switch.dir, name={\longargfmt{dir}}, symbol={\shortargfmt{d}}, user1={\meta{dirname}}, @@ -6240,70 +8884,98 @@ primary formats, if enabled.}, parent={commandlineoptions} } -@dualindexentry{switch.interpret, +@switch{switch.interpret, name={\longargfmt{interpret}}, user1={}, category={switch}, parent={commandlineoptions} } -@dualindexentry{switch.no-interpret, +@switch{switch.no-interpret, name={\longargfmt{no\dhyphen interpret}}, user1={}, category={switch}, parent={commandlineoptions} } -@dualindexentry{switch.break-space, +@switch{switch.warn-non-bib-fields, + name={\longargfmt{warn\dhyphen non\dhyphen bib\dhyphen fields}}, + user1={}, + category={switch}, + parent={commandlineoptions} +} + +@switch{switch.no-warn-non-bib-fields, + name={\longargfmt{no\dhyphen warn\dhyphen non\dhyphen bib\dhyphen fields}}, + user1={}, + category={switch}, + parent={commandlineoptions} +} + +@switch{switch.warn-unknown-entry-types, + name={\longargfmt{warn\dhyphen unknown\dhyphen entry\dhyphen types}}, + user1={}, + category={switch}, + parent={commandlineoptions} +} + +@switch{switch.no-warn-unknown-entry-types, + name={\longargfmt{no\dhyphen warn\dhyphen unknown\dhyphen entry\dhyphen types}}, + user1={}, + category={switch}, + parent={commandlineoptions} +} + +@switch{switch.break-space, name={\longargfmt{break\dhyphen space}}, user1={}, category={switch}, parent={commandlineoptions} } -@dualindexentry{switch.no-break-space, +@switch{switch.no-break-space, name={\longargfmt{no\dhyphen break\dhyphen space}}, user1={}, category={switch}, parent={commandlineoptions} } -@dualindexentry{switch.cite-as-record, +@switch{switch.cite-as-record, name={\longargfmt{cite\dhyphen as\dhyphen record}}, user1={}, category={switch}, parent={commandlineoptions} } -@dualindexentry{switch.no-cite-as-record, +@switch{switch.no-cite-as-record, name={\longargfmt{no\dhyphen cite\dhyphen as\dhyphen record}}, user1={}, category={switch}, parent={commandlineoptions} } -@dualindexentry{switch.merge-wrglossary-records, +@switch{switch.merge-wrglossary-records, name={\longargfmt{merge\dhyphen wrglossary\dhyphen records}}, user1={}, category={switch}, parent={commandlineoptions} } -@dualindexentry{switch.no-merge-wrglossary-records, +@switch{switch.no-merge-wrglossary-records, name={\longargfmt{no\dhyphen merge\dhyphen wrglossary\dhyphen records}}, user1={}, category={switch}, parent={commandlineoptions} } -@dualindexentry{switch.merge-nameref-on, +@switch{switch.merge-nameref-on, name={\longargfmt{merge\dhyphen nameref\dhyphen on}}, user1={\meta{rule}}, category={switch}, parent={commandlineoptions} } -@dualindexentry{switch.force-cross-resource-refs, +@switch{switch.force-cross-resource-refs, name={\longargfmt{force\dhyphen cross\dhyphen resource\dhyphen refs}}, symbol={\shortargfmt{x}}, user1={}, @@ -6311,28 +8983,28 @@ primary formats, if enabled.}, parent={commandlineoptions} } -@dualindexentry{switch.no-force-cross-resource-refs, +@switch{switch.no-force-cross-resource-refs, name={\longargfmt{no\dhyphen force\dhyphen cross\dhyphen resource\dhyphen refs}}, user1={}, category={switch}, parent={commandlineoptions} } -@dualindexentry{switch.support-unicode-script, +@switch{switch.support-unicode-script, name={\longargfmt{support\dhyphen unicode\dhyphen script}}, user1={}, category={switch}, parent={commandlineoptions} } -@dualindexentry{switch.no-support-unicode-script, +@switch{switch.no-support-unicode-script, name={\longargfmt{no\dhyphen support\dhyphen unicode\dhyphen script}}, user1={}, category={switch}, parent={commandlineoptions} } -@dualindexentry{switch.packages, +@switch{switch.packages, name={\longargfmt{packages}}, symbol={\shortargfmt{p}}, user1={\meta{list}}, @@ -6340,7 +9012,7 @@ primary formats, if enabled.}, parent={commandlineoptions} } -@dualindexentry{switch.ignore-packages, +@switch{switch.ignore-packages, name={\longargfmt{ignore-packages}}, symbol={\shortargfmt{k}}, user1={\meta{list}}, @@ -6348,20 +9020,20 @@ primary formats, if enabled.}, parent={commandlineoptions} } -@dualindexentry{switch.custom-packages, +@switch{switch.custom-packages, name={\longargfmt{custom\dhyphen packages}}, user1={\meta{list}}, category={switch}, parent={commandlineoptions} } -@dualindexentry{switch.list-known-packages, +@switch{switch.list-known-packages, name={\longargfmt{list\dhyphen known\dhyphen packages}}, category={switch}, parent={commandlineoptions} } -@dualindexentry{switch.mfirstuc-protection, +@switch{switch.mfirstuc-protection, name={\longargfmt{mfirstuc\dhyphen protection}}, symbol={\shortargfmt{u}}, user1={\meta{list}\argor\code{all}}, @@ -6369,49 +9041,49 @@ primary formats, if enabled.}, parent={commandlineoptions} } -@dualindexentry{switch.no-mfirstuc-protection, +@switch{switch.no-mfirstuc-protection, name={\longargfmt{no\dhyphen mfirstuc\dhyphen protection}}, user1={}, category={switch}, parent={commandlineoptions} } -@dualindexentry{switch.mfirstuc-math-protection, +@switch{switch.mfirstuc-math-protection, name={\longargfmt{mfirstuc\dhyphen math\dhyphen protection}}, user1={}, category={switch}, parent={commandlineoptions} } -@dualindexentry{switch.no-mfirstuc-math-protection, +@switch{switch.no-mfirstuc-math-protection, name={\longargfmt{no\dhyphen mfirstuc\dhyphen math\dhyphen protection}}, user1={}, category={switch}, parent={commandlineoptions} } -@dualindexentry{switch.nested-link-check, +@switch{switch.nested-link-check, name={\longargfmt{nested\dhyphen link\dhyphen check}}, user1={\meta{list}\argor\code{none}}, category={switch}, parent={commandlineoptions} } -@dualindexentry{switch.no-nested-link-check, +@switch{switch.no-nested-link-check, name={\longargfmt{no\dhyphen nested\dhyphen link\dhyphen check}}, user1={}, category={switch}, parent={commandlineoptions} } -@dualindexentry{switch.shortcuts, +@switch{switch.shortcuts, name={\longargfmt{shortcuts}}, user1={\meta{value}}, category={switch}, parent={commandlineoptions} } -@dualindexentry{switch.map-format, +@switch{switch.map-format, name={\longargfmt{map\dhyphen format}}, symbol={\shortargfmt{m}}, user1={\meta{map:value list}}, @@ -6419,7 +9091,7 @@ primary formats, if enabled.}, parent={commandlineoptions} } -@dualindexentry{switch.group, +@switch{switch.group, name={\longargfmt{group}}, symbol={\shortargfmt{g}}, user1={}, @@ -6427,35 +9099,35 @@ primary formats, if enabled.}, parent={commandlineoptions} } -@dualindexentry{switch.no-group, +@switch{switch.no-group, name={\longargfmt{no\dhyphen group}}, user1={}, category={switch}, parent={commandlineoptions} } -@dualindexentry{switch.tex-encoding, +@switch{switch.tex-encoding, name={\longargfmt{tex\dhyphen encoding}}, user1={\meta{name}}, category={switch}, parent={commandlineoptions} } -@dualindexentry{switch.no-expand-fields, +@switch{switch.no-expand-fields, name={\longargfmt{no\dhyphen expand\dhyphen fields}}, user1={}, category={switch}, parent={commandlineoptions} } -@dualindexentry{switch.expand-fields, +@switch{switch.expand-fields, name={\longargfmt{expand\dhyphen fields}}, user1={}, category={switch}, parent={commandlineoptions} } -@dualindexentry{switch.record-count, +@switch{switch.record-count, name={\longargfmt{record\dhyphen count}}, symbol={\shortargfmt{c}}, user1={}, @@ -6463,14 +9135,14 @@ primary formats, if enabled.}, parent={commandlineoptions} } -@dualindexentry{switch.no-record-count, +@switch{switch.no-record-count, name={\longargfmt{no\dhyphen record\dhyphen count}}, user1={}, category={switch}, parent={commandlineoptions} } -@dualindexentry{switch.record-count-unit, +@switch{switch.record-count-unit, name={\longargfmt{record\dhyphen count\dhyphen unit}}, symbol={\shortargfmt{n}}, user1={}, @@ -6478,21 +9150,21 @@ primary formats, if enabled.}, parent={commandlineoptions} } -@dualindexentry{switch.no-record-count-unit, +@switch{switch.no-record-count-unit, name={\longargfmt{no\dhyphen record\dhyphen count\dhyphen unit}}, user1={}, category={switch}, parent={commandlineoptions} } -@dualindexentry{switch.trim-fields, +@switch{switch.trim-fields, name={\longargfmt{trim\dhyphen fields}}, user1={}, category={switch}, parent={commandlineoptions} } -@dualindexentry{switch.no-trim-fields, +@switch{switch.no-trim-fields, name={\longargfmt{no\dhyphen trim\dhyphen fields}}, user1={}, category={switch}, @@ -6574,27 +9246,27 @@ primary formats, if enabled.}, name={language resource file (\extfmt{xml})} } -@index{tag.page, +@xmltag{tag.page, name={\xmltagfmt{tag.page}}, parent={languagexml} } -@index{tag.pages, +@xmltag{tag.pages, name={\xmltagfmt{tag.pages}}, parent={languagexml} } -@index{tag.passim, +@xmltag{tag.passim, name={\xmltagfmt{tag.passim}}, parent={languagexml} } -@index{sentence.terminators, +@xmltag{sentence.terminators, name={\xmltagfmt{sentence.terminators}}, parent={languagexml} } -@index{grouptitle.case.lc, +@xmltag{grouptitle.case.lc, name={\xmltagfmt{grouptitle.case.}\meta{lc}}, parent={languagexml} } @@ -6635,1018 +9307,1781 @@ primary formats, if enabled.}, text={apostrophe} } -@index{resourceset, - name={resource set} +@index{resourceset, + name={resource set} +} + +@index{crossresourceref, + name={cross-resource reference} +} + +@index{firstuse, + name={first use} +} + +@index{subsequentuse, + name={subsequent use} +} + +@index{firstuseflag, + name={first use flag} +} + +@index{link-text, + name={link text} +} + +@index{parent-entry, + name={parent entry}, + plural={parent entries} +} + +@index{child-entry, + name={child entry}, + plural={child entries} +} + +@index{hierarchical-entry, + name={hierarchical entry}, + plural={hierarchical entries} +} + +@index{robust} +@index{fragile} +@index{expandable} +@index{regular} +@index{non-regular} +@index{variant} +@index{homograph} +@index{progeny} +@index{progenitor} + +@index{StackOverflowError, + name={\code{Stack\-Over\-flow\-Error}} +} + +@index{moving-argument, + name={moving argument} +} + +@index{uppercase, + name={upper case} +} + +@index{lowercase, + name={lower case} +} + +@index{titlecase, + name={title case} +} + +@index{sentencecase, + name={sentence case} +} + +@index{case-change, + name = {case-change}, + seealso = {uppercase,lowercase,titlecase,sentencecase} +} + +@index{unicodecategories, + name={Unicode categories}, + text={Unicode category}, + plural={Unicode categories} +} + +@unicodecategory{numberdecimaldigit, + name={\unicodecategoryfmt{Number, Decimal Digit}}, + parent={unicodecategories} +} + +@unicodecategory{separatorspace, + name={\unicodecategoryfmt{Separator, Space}}, + parent={unicodecategories} +} + +@unicodecategory{letteruppercase, + name={\unicodecategoryfmt{Letter, Uppercase}}, + parent={unicodecategories} +} + +@unicodecategory{letterlowercase, + name={\unicodecategoryfmt{Letter, Lowercase}}, + parent={unicodecategories} +} + +@unicodecategory{lettertitlecase, + name={\unicodecategoryfmt{Letter, Titlecase}}, + parent={unicodecategories} +} + +@unicodecategory{lettermodifier, + name={\unicodecategoryfmt{Letter, Modifier}}, + parent={unicodecategories} +} + +@unicodecategory{letterother, + name={\unicodecategoryfmt{Letter, Other}}, + parent={unicodecategories} +} + +@unicodecategory{punctuationclose, + name={\unicodecategoryfmt{Punctuation, Close}}, + parent={unicodecategories} +} + +@unicodecategory{punctuationfinalquote, + name={\unicodecategoryfmt{Punctuation, Final quote}}, + parent={unicodecategories} +} + +@unicodecategory{punctuationother, + name={\unicodecategoryfmt{Punctuation, Other}}, + parent={unicodecategories} +} + +@unicodecategory{punctuationdash, + name={\unicodecategoryfmt{Punctuation, Dash}}, + parent={unicodecategories} +} + +@texmfcnf{texmfcnf.openinany, + name={\texmfcnffmt{openin\_any}} +} + +@texmfcnf{texmfcnf.openoutany, + name={\texmfcnffmt{openout\_any}} +} + +@file{file.bib2gls-en.xml, + name={\filefmt{bib2gls-en.xml}} +} + +@file{file.bib2gls.sh, + name={\filefmt{bib2gls.sh}} +} + +@file{file.convertgls2bib.sh, + name={\filefmt{convert\-gls2bib.sh}} +} + +@file{file.texparserlib.jar, + name={\filefmt{texparserlib.jar}} +} + +@file{file.bib2gls.jar, + name={\filefmt{bib2gls.jar}} +} + +@file{file.convertgls2bib.jar, + name={\filefmt{convert\-gls2bib.jar}} +} + +@file{file.bib2gls.bat, + name={\filefmt{bib2gls.bat}} +} + +@file{file.xampl.bib, + name={\filefmt{xampl.bib}} +} + +@file{file.sample-dual.tex, + name={\filefmt{sample\dhyphen dual.tex}} +} + +@samplefile{file.no-interpret-preamble.bib, + name={\filefmt{no\dhyphen interpret\dhyphen preamble.bib}} +} + +@samplefile{file.interpret-preamble.bib, + name={\filefmt{interpret\dhyphen preamble.bib}} +} + +@samplefile{file.interpret-preamble2.bib, + name={\filefmt{interpret\dhyphen preamble2.bib}} +} + +@samplefile{file.people.bib, + name={\filefmt{people.bib}} +} + +@samplefile{file.sample-people.tex, + name={\filefmt{sample\dhyphen people.tex}} +} + +@samplefile{file.sample-authors.tex, + name={\filefmt{sample\dhyphen authors.tex}} +} + +@samplefile{file.sample-citations.tex, + name={\filefmt{sample\dhyphen citations.tex}} +} + +@samplefile{file.citations.bib, + name={\filefmt{citations.bib}} +} + +@samplefile{file.bacteria.bib, + name={\filefmt{bacteria.bib}} +} + +@samplefile{file.sample-bacteria.tex, + name={\filefmt{sample\dhyphen bacteria.tex}} +} + +@samplefile{file.chemicalformula.bib, + name={\filefmt{chemicalformula.bib}} +} + +@samplefile{file.sample-chemical.tex, + name={\filefmt{sample\dhyphen chemical.tex}} +} + +@samplefile{file.constants.bib, + name={\filefmt{constants.bib}} +} + +@samplefile{file.sample-constants.tex, + name={\filefmt{sample\dhyphen constants.tex}} +} + +@samplefile{file.baseunits.bib, + name={\filefmt{baseunits.bib}} +} + +@samplefile{file.derivedunits.bib, + name={\filefmt{derivedunits.bib}} +} + +@samplefile{file.sample-units1.tex, + name={\filefmt{sample-units1.tex}} +} + +@samplefile{file.sample-units2.tex, + name={\filefmt{sample-units2.tex}} +} + +@samplefile{file.sample-units3.tex, + name={\filefmt{sample-units3.tex}} +} + +@samplefile{file.books.bib, + name={\filefmt{books.bib}} +} + +@samplefile{file.films.bib, + name={\filefmt{films.bib}} +} + +@samplefile{file.sample-media.tex, + name={\filefmt{sample\dhyphen media.tex}} +} + +@samplefile{file.bigmathsymbols.bib, + name={\filefmt{bigmathsymbols.bib}} +} + +@samplefile{file.mathgreek.bib, + name={\filefmt{mathgreek.bib}} +} + +@samplefile{file.mathsrelations.bib, + name={\filefmt{mathsrelations.bib}} +} + +@samplefile{file.binaryoperators.bib, + name={\filefmt{binaryoperators.bib}} +} + +@samplefile{file.unaryoperators.bib, + name={\filefmt{unaryoperators.bib}} } -@index{crossresourceref, - name={cross-resource reference} +@samplefile{file.mathsobjects.bib, + name={\filefmt{mathsobjects.bib}} } -@index{firstuse, - name={first use} +@samplefile{file.sample-msymbols.tex, + name={\filefmt{sample\dhyphen msymbols.tex}} } -@index{subsequentuse, - name={subsequent use} +@samplefile{file.sample-maths.tex, + name={\filefmt{sample\dhyphen maths.tex}} } -@index{firstuseflag, - name={first use flag} +@samplefile{file.miscsymbols.bib, + name={\filefmt{miscsymbols.bib}} } -@index{link-text, - name={link text} +@samplefile{file.sample-textsymbols.tex, + name={\filefmt{sample\dhyphen textsymbols.tex}} } -@index{parent-entry, - name={parent entry}, - plural={parent entries} +@samplefile{file.sample-textsymbols2.tex, + name={\filefmt{sample\dhyphen textsymbols2.tex}} } -@index{child-entry, - name={child entry}, - plural={child entries} +@samplefile{file.markuplanguages.bib, + name={\filefmt{markuplanguages.bib}} } -@index{hierarchical-entry, - name={hierarchical entry}, - plural={hierarchical entries} +@samplefile{file.sample-markuplanguages.tex, + name={\filefmt{sample\dhyphen markuplanguages.tex}} } -@index{robust} -@index{fragile} -@index{expandable} -@index{regular} -@index{non-regular} -@index{variant} -@index{homograph} +@samplefile{file.usergroups.bib, + name={\filefmt{usergroups.bib}} +} -@index{moving-argument, - name={moving argument} +@samplefile{file.sample-usergroups.tex, + name={\filefmt{sample\dhyphen usergroups.tex}} } -@index{uppercase, - name={upper case} +@samplefile{file.animals.bib, + name={\filefmt{animals.bib}} } -@index{lowercase, - name={lower case} +@samplefile{file.vegetables.bib, + name={\filefmt{vegetables.bib}} } -@index{titlecase, - name={title case} +@samplefile{file.minerals.bib, + name={\filefmt{minerals.bib}} } -@index{sentencecase, - name={sentence case} +@samplefile{file.terms.bib, + name={\filefmt{terms.bib}} } -@index{case-change, - name = {case-change}, - seealso = {uppercase,lowercase,titlecase,sentencecase} +@samplefile{file.topics.bib, + name={\filefmt{topics.bib}} } -@index{unicodecategories, - name={Unicode categories}, - text={Unicode category}, - plural={Unicode categories} +@samplefile{file.sample-multi1.tex, + name={\filefmt{sample\dhyphen multi1.tex}} } -@index{numberdecimaldigit, - name={\unicodecategoryfmt{Number, Decimal Digit}}, - parent={unicodecategories} +@samplefile{file.sample-multi2.tex, + name={\filefmt{sample\dhyphen multi2.tex}} } -@index{separatorspace, - name={\unicodecategoryfmt{Separator, Space}}, - parent={unicodecategories} +@glscommand{glshyperlink, + name={\csfmt{gls\-hyper\-link}}, + user1={\oargm{link text}\margm{label}}, + description={creates a hyperlink to the entry information in the + glossary}, + topics={linkcommands,entryrefcommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@index{letteruppercase, - name={\unicodecategoryfmt{Letter, Uppercase}}, - parent={unicodecategories} +@glscommand{glsxtrfielddolistloop, + name={\csfmt{gls\-xtr\-field\-do\-list\-loop}}, + user1={\margm{label}\margm{field}}, + description={iterates over the items the given field, which contains + an \styfmt{etoolbox} internal list}, + topics={listcommands,loops,fieldrefcommands}, + note={\styfmt{glossaries-extra} v1.12+}, + seealso={glsxtrfieldforlistloop,glsxtrfieldifinlist,glsxtrfieldlistadd}, + category={command} } -@index{letterlowercase, - name={\unicodecategoryfmt{Letter, Lowercase}}, - parent={unicodecategories} +@glscommand{glsxtrfieldforlistloop, + name={\csfmt{gls\-xtr\-field\-for\-list\-loop}}, + user1={\margm{label}\margm{field}\margm{handler}}, + description={iterates over the items the given field, which contains + an \styfmt{etoolbox} internal list, using the given handler}, + topics={listcommands,loops,fieldrefcommands}, + note={\styfmt{glossaries-extra} v1.29+}, + seealso={glsxtrfielddolistloop,glsxtrfieldifinlist,glsxtrfieldlistadd}, + category={command} } -@index{lettertitlecase, - name={\unicodecategoryfmt{Letter, Titlecase}}, - parent={unicodecategories} +@glscommand{glsfieldfetch, + name={\csfmt{gls\-field\-fetch}}, + user1={\margm{label}\margm{field}\margm{cs}}, + description={fetches the value of the given field for the given + label and stores it in the command \meta{cs}}, + topics={fieldrefcommands}, + note={\styfmt{glossaries} v4.16+}, + category={command} } -@index{lettermodifier, - name={\unicodecategoryfmt{Letter, Modifier}}, - parent={unicodecategories} +@glscommand{glsxtrautoindexassignsort, + name={\csfmt{gls\-xtr\-auto\-index\-assign\-sort}}, + user1={\margm{cs}\margm{label}}, + description={assigns the sort value for \cs{index} when + using auto-indexing}, + topics={hooks,indexing}, + note={\styfmt{glossaries-extra} v1.16+}, + category={command} } -@index{letterother, - name={\unicodecategoryfmt{Letter, Other}}, - parent={unicodecategories} +@glscommand{glsxtrautoindexentry, + name={\csfmt{gls\-xtr\-auto\-index\-entry}}, + user1={\margm{label}}, + description={used for the actual value in \cs{index} when + using auto-indexing}, + topics={hooks,indexing}, + note={\styfmt{glossaries-extra} v1.16+}, + category={command} } -@index{punctuationclose, - name={\unicodecategoryfmt{Punctuation, Close}}, - parent={unicodecategories} +@glscommand{glsseeformat, + name={\csfmt{gls\-see\-format}}, + user1={\margm{tag}\margm{labels}\margm{location (ignored)}}, + description={formats the entries identified in the comma separated + list of labels as a set of cross-references, where each + item in the list is encapsulated with \cs{glsseeitem} and + each element is separated with \cs{glsseesep} or + \cs{glsseelastsep}}, + topics={formattingcommands,crossrefcommands,loclistcommands}, + note={\styfmt{glossaries}}, + seealso={glsseeitem,glsseeitemformat,glsseesep,glsseelastsep}, + category={command} } -@index{punctuationfinalquote, - name={\unicodecategoryfmt{Punctuation, Final quote}}, - parent={unicodecategories} +@glscommand{glsseeitem, + name={\csfmt{gls\-see\-item}}, + user1={\margm{label}}, + description={formats an element of the cross-reference list. + The default behaviour is to create a hyperlink (if enabled) to the + referenced entry with the link text given by + \code{\cs{glsseeitemformat}\margm{label}}}, + topics={formattingcommands,crossrefcommands,loclistcommands,linkcommands}, + note={\styfmt{glossaries}}, + seealso={glsseeformat,glsseeitemformat}, + category={command} } -@index{punctuationother, - name={\unicodecategoryfmt{Punctuation, Other}}, - parent={unicodecategories} +@glscommand{glsseeitemformat, + name={\csfmt{gls\-see\-item\-format}}, + user1={\margm{label}}, + description={formats an element of the cross-reference list. + With the base \styfmt{glossaries} package this just does + \code{\cs{glsentrytext}\margm{label}}. With + \styfmt{glossaries-extra} this uses either \cs{glsentryshort} + or \cs{glsentryname} depending on whether or not the + \field{short} field has been set}, + topics={formattingcommands,crossrefcommands,loclistcommands}, + note={\styfmt{glossaries} v3.0+}, + seealso={glsseeformat,glsseeitem}, + category={command} } -@index{punctuationdash, - name={\unicodecategoryfmt{Punctuation, Dash}}, - parent={unicodecategories} +@glscommand{glsseesep, + name={\csfmt{gls\-see\-sep}}, + description={the separator used between all but the last + entries of a cross-reference list}, + note={\styfmt{glossaries}}, + topics={separatorcommands,crossrefcommands,loclistcommands}, + seealso={glsseeformat,glsseelastsep}, + category={command} } -@index{texmfcnf.openinany, - name={\texmfcnffmt{openin\_any}} +@glscommand{glsseelastsep, + name={\csfmt{gls\-see\-last\-sep}}, + description={the separator used between the penultimate and + ultimate entries of a cross-reference list}, + topics={separatorcommands,crossrefcommands,loclistcommands}, + note={\styfmt{glossaries}}, + seealso={glsseeformat,glsseesep}, + category={command} } -@index{texmfcnf.openoutany, - name={\texmfcnffmt{openout\_any}} +@glscommand{glsxtruseseeformat, + name={\csfmt{gls\-xtr\-use\-see\-format}}, + user1={\margm{tag}\margm{labels}}, + description={formats the entries identified in the comma separated + list of labels as a set of cross-references}, + topics={separatorcommands,crossrefcommands,loclistcommands}, + note={\styfmt{glossaries}}, + category={command} } -@index{file.bib2gls-en.xml, - name={\filefmt{bib2gls-en.xml}} +@glscommand{glsxtrhiername, + name={\csfmt{gls\-xtr\-hier\-name}}, + user1={\margm{label}}, + description={Displays the hierarchical name for the entry + identified by \meta{label} with each level separated by + \cs{glsxtrhiernamesep}}, + topics={formattingcommands,entryrefcommands}, + note={\styfmt{glossaries-extra}\texparserdefnote\ v1.37+}, + seealso={glsxtrhiernamesep}, + category={command} } -@index{file.bib2gls.sh, - name={\filefmt{bib2gls.sh}} +@glscommand{glsxtrhiernamesep, + name={\csfmt{gls\-xtr\-hier\-name\-sep}}, + description={Separator between hierarchical levels displayed with + \cs{glsxtrhiername} (and case-changing variants). This defaults + to \qt{\glsxtrhiernamesep} with the \styfmt{glossaries-extra} + package, but the \bibgls\ interpreter has a different definition + to assist sorting}, + topics={separatorcommands}, + note={\styfmt{glossaries-extra}\texparserdefnote\ v1.37+}, + seealso={glsxtrhiername}, + category={command} } -@index{file.convertgls2bib.sh, - name={\filefmt{convert\-gls2bib.sh}} +@glscommand{Glsxtrhiername, + name={\csfmt{Gls\-xtr\-hier\-name}}, + user1={\margm{label}}, + description={Displays the hierarchical name for the entry + identified by \meta{label} with each level separated by + \cs{glsxtrhiernamesep} where the top-most name has the + first letter converted to \idx{uppercase}}, + topics={formattingcommands,entryrefcommands,casecommands}, + note={\styfmt{glossaries-extra}\texparserdefnote\ v1.37+}, + seealso={glsxtrhiername,glsxtrhiernamesep}, + category={command} } -@index{file.texparserlib.jar, - name={\filefmt{texparserlib.jar}} +@glscommand{GlsXtrhiername, + name={\csfmt{Gls\-Xtr\-hier\-name}}, + user1={\margm{label}}, + description={Displays the hierarchical name for the entry + identified by \meta{label} with each level separated by + \cs{glsxtrhiernamesep} where each name has the + first letter converted to \idx{uppercase}}, + topics={formattingcommands,entryrefcommands,casecommands}, + note={\styfmt{glossaries-extra}\texparserdefnote\ v1.37+}, + seealso={glsxtrhiername,glsxtrhiernamesep}, + category={command} } -@index{file.bib2gls.jar, - name={\filefmt{bib2gls.jar}} +@glscommand{GLSxtrhiername, + name={\csfmt{GLS\-xtr\-hier\-name}}, + user1={\margm{label}}, + description={Displays the hierarchical name for the entry + identified by \meta{label} with each level separated by + \cs{glsxtrhiernamesep} where the top-most name is converted to \idx{uppercase}}, + topics={formattingcommands,entryrefcommands,casecommands}, + note={\styfmt{glossaries-extra}\texparserdefnote\ v1.37+}, + seealso={glsxtrhiername,glsxtrhiernamesep}, + category={command} } -@index{file.convertgls2bib.jar, - name={\filefmt{convert\-gls2bib.jar}} +@glscommand{GLSXTRhiername, + name={\csfmt{GLS\-XTR\-hier\-name}}, + user1={\margm{label}}, + description={Displays the hierarchical name for the entry + identified by \meta{label} with each level separated by + \cs{glsxtrhiernamesep} where each name is converted + to \idx{uppercase}}, + topics={formattingcommands,entryrefcommands,casecommands}, + note={\styfmt{glossaries-extra}\texparserdefnote\ v1.37+}, + seealso={glsxtrhiername,glsxtrhiernamesep}, + category={command} } -@index{file.bib2gls.bat, - name={\filefmt{bib2gls.bat}} +@glscommand{glsextrapostnamehook, + name={\csfmt{gls\-extra\-post\-name\-hook}}, + user1={\margm{label}}, + description={additional category-independent code for the +post-name hook}, + topics={hooks}, + note={\styfmt{glossaries-extra} v1.25+}, + category={command} } -@index{file.xampl.bib, - name={\filefmt{xampl.bib}} +@glscommand{glsentrytext, + name={\csfmt{gls\-entry\-text}}, + user1={\margm{label}}, + description={expands to the value of the + \field{text} field}, + topics={fieldrefcommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@index{file.sample-dual.tex, - name={\filefmt{sample\dhyphen dual.tex}} +@glscommand{Glsentrytext, + name={\csfmt{Gls\-entry\-text}}, + user1={\margm{label}}, + description={displays the value of the \field{text} field with + the first letter converted to \idx{uppercase}}, + topics={fieldrefcommands,casecommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.no-interpret-preamble.bib, - name={\filefmt{no\dhyphen interpret\dhyphen preamble.bib}} +@glscommand{glsentryplural, + name={\csfmt{gls\-entry\-plural}}, + user1={\margm{label}}, + description={expands to the value of the + \field{plural} field}, + topics={fieldrefcommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.interpret-preamble.bib, - name={\filefmt{interpret\dhyphen preamble.bib}} +@glscommand{Glsentryplural, + name={\csfmt{Gls\-entry\-plural}}, + user1={\margm{label}}, + description={displays the value of the + \field{plural} field with the first letter converted to +\idx{uppercase}}, + topics={fieldrefcommands,casecommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.interpret-preamble2.bib, - name={\filefmt{interpret\dhyphen preamble2.bib}} +@glscommand{glsentryfirst, + name={\csfmt{gls\-entry\-first}}, + user1={\margm{label}}, + description={expands to the value of the + \field{first} field}, + topics={fieldrefcommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.people.bib, - name={\filefmt{people.bib}} +@glscommand{Glsentryfirst, + name={\csfmt{Gls\-entry\-first}}, + user1={\margm{label}}, + description={displays the value of the + \field{first} field with the first letter converted to + \idx{uppercase}}, + topics={fieldrefcommands,casecommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.sample-people.tex, - name={\filefmt{sample\dhyphen people.tex}} +@glscommand{glsentryfirstplural, + name={\csfmt{gls\-entry\-first\-plural}}, + user1={\margm{label}}, + description={expands to the value of the + \field{firstplural} field}, + topics={fieldrefcommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.sample-authors.tex, - name={\filefmt{sample\dhyphen authors.tex}} +@glscommand{Glsentryfirstplural, + name={\csfmt{Gls\-entry\-first\-plural}}, + user1={\margm{label}}, + description={displays the value of the + \field{firstplural} field with the first letter converted to + \idx{uppercase}}, + topics={fieldrefcommands,casecommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.sample-citations.tex, - name={\filefmt{sample\dhyphen citations.tex}} +@glscommand{glsentryname, + name={\csfmt{gls\-entry\-name}}, + user1={\margm{label}}, + description={expands to the value of the + \field{name} field}, + topics={fieldrefcommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.citations.bib, - name={\filefmt{citations.bib}} +@glscommand{Glsentryname, + name={\csfmt{Gls\-entry\-name}}, + user1={\margm{label}}, + description={displays the value of the + \field{name} field with the first character + converted to \idx{uppercase}}, + topics={fieldrefcommands,casecommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.bacteria.bib, - name={\filefmt{bacteria.bib}} +@glscommand{glsentrydesc, + name={\csfmt{gls\-entry\-desc}}, + user1={\margm{label}}, + description={expands to the value of the + \field{description} field}, + topics={fieldrefcommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.sample-bacteria.tex, - name={\filefmt{sample\dhyphen bacteria.tex}} +@glscommand{glsentrydescplural, + name={\csfmt{gls\-entry\-desc\-plural}}, + user1={\margm{label}}, + description={expands to the value of the + \field{descriptionplural} field}, + topics={fieldrefcommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.chemicalformula.bib, - name={\filefmt{chemicalformula.bib}} +@glscommand{Glsentrydesc, + name={\csfmt{Gls\-entry\-desc}}, + user1={\margm{label}}, + description={displays the value of the + \field{description} field with the first letter converted to + \idx{uppercase}}, + topics={fieldrefcommands,casecommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.sample-chemical.tex, - name={\filefmt{sample\dhyphen chemical.tex}} +@glscommand{Glsentrydescplural, + name={\csfmt{Gls\-entry\-desc\-plural}}, + user1={\margm{label}}, + description={displays the value of the + \field{descriptionplural} field with the first letter converted to + \idx{uppercase}}, + topics={fieldrefcommands,casecommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.constants.bib, - name={\filefmt{constants.bib}} +@glscommand{glsentrysymbol, + name={\csfmt{gls\-entry\-symbol}}, + user1={\margm{label}}, + description={expands to the value of the + \field{symbol} field}, + topics={fieldrefcommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.sample-constants.tex, - name={\filefmt{sample\dhyphen constants.tex}} +@glscommand{Glsentrysymbol, + name={\csfmt{Gls\-entry\-symbol}}, + user1={\margm{label}}, + description={displays the value of the + \field{symbol} field with the first letter converted to +\idx{uppercase}}, + topics={fieldrefcommands,casecommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.baseunits.bib, - name={\filefmt{baseunits.bib}} +@glscommand{glsentrysymbolplural, + name={\csfmt{gls\-entry\-symbol\-plural}}, + user1={\margm{label}}, + description={expands to the value of the + \field{symbolplural} field}, + topics={fieldrefcommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.derivedunits.bib, - name={\filefmt{derivedunits.bib}} +@glscommand{Glsentrysymbolplural, + name={\csfmt{Gls\-entry\-symbol\-plural}}, + user1={\margm{label}}, + description={displays the value of the + \field{symbolplural} field with the first letter converted to +\idx{uppercase}}, + topics={fieldrefcommands,casecommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.sample-units1.tex, - name={\filefmt{sample-units1.tex}} +@glscommand{glsentrylong, + name={\csfmt{gls\-entry\-long}}, + user1={\margm{label}}, + description={expands to the value of the \field{long} field + without any formatting or indexing}, + topics={fieldrefcommands,abbreviationcommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.sample-units2.tex, - name={\filefmt{sample-units2.tex}} +@glscommand{glsentrylongpl, + name={\csfmt{gls\-entry\-long\-pl}}, + user1={\margm{label}}, + description={expands to the value of the \field{longplural} field + without any formatting or indexing}, + topics={fieldrefcommands,abbreviationcommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.sample-units3.tex, - name={\filefmt{sample-units3.tex}} +@glscommand{Glsentrylong, + name={\csfmt{Gls\-entry\-long}}, + user1={\margm{label}}, + description={displays the value of the + \field{long} field without any formatting or indexing but + with the first letter converted to \idx{uppercase}}, + topics={fieldrefcommands,abbreviationcommands,casecommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.books.bib, - name={\filefmt{books.bib}} +@glscommand{Glsentrylongpl, + name={\csfmt{Gls\-entry\-long\-pl}}, + user1={\margm{label}}, + description={displays the value of the + \field{longplural} field without any formatting or indexing but + with the first letter converted to \idx{uppercase}}, + topics={fieldrefcommands,abbreviationcommands,casecommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.films.bib, - name={\filefmt{films.bib}} +@glscommand{glsentryshort, + name={\csfmt{gls\-entry\-short}}, + user1={\margm{label}}, + description={expands to the value of the + \field{short} field without any formatting or indexing}, + topics={fieldrefcommands,abbreviationcommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.sample-media.tex, - name={\filefmt{sample\dhyphen media.tex}} +@glscommand{glsentryshortpl, + name={\csfmt{gls\-entry\-short\-pl}}, + user1={\margm{label}}, + description={expands to the value of the + \field{shortplural} field without any formatting or indexing}, + topics={fieldrefcommands,abbreviationcommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.bigmathsymbols.bib, - name={\filefmt{bigmathsymbols.bib}} +@glscommand{Glsentryshort, + name={\csfmt{Gls\-entry\-short}}, + user1={\margm{label}}, + description={displays the value of the + \field{short} field without any formatting or indexing but + with the first letter converted to \idx{uppercase}}, + topics={fieldrefcommands,abbreviationcommands,casecommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.mathgreek.bib, - name={\filefmt{mathgreek.bib}} +@glscommand{Glsentryshortpl, + name={\csfmt{Gls\-entry\-short\-pl}}, + user1={\margm{label}}, + description={displays the value of the + \field{shortplural} field without any formatting or indexing + but with the first letter converted to \idx{uppercase}}, + topics={fieldrefcommands,abbreviationcommands,casecommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.mathsrelations.bib, - name={\filefmt{mathsrelations.bib}} +@glscommand{glsentryuseri, + name={\csfmt{gls\-entry\-useri}}, + user1={\margm{label}}, + description={expands to the value of the + \field{user1} field}, + topics={fieldrefcommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.binaryoperators.bib, - name={\filefmt{binaryoperators.bib}} +@glscommand{glsentryuserii, + name={\csfmt{gls\-entry\-userii}}, + user1={\margm{label}}, + description={expands to the value of the + \field{user2} field}, + topics={fieldrefcommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.unaryoperators.bib, - name={\filefmt{unaryoperators.bib}} +@glscommand{glsentryuseriii, + name={\csfmt{gls\-entry\-useriii}}, + user1={\margm{label}}, + description={expands to the value of the + \field{user3} field}, + topics={fieldrefcommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.mathsobjects.bib, - name={\filefmt{mathsobjects.bib}} +@glscommand{glsentryuseriv, + name={\csfmt{gls\-entry\-useriv}}, + user1={\margm{label}}, + description={expands to the value of the + \field{user4} field}, + topics={fieldrefcommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.sample-msymbols.tex, - name={\filefmt{sample\dhyphen msymbols.tex}} +@glscommand{glsentryuserv, + name={\csfmt{gls\-entry\-userv}}, + user1={\margm{label}}, + description={expands to the value of the + \field{user5} field}, + topics={fieldrefcommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.sample-maths.tex, - name={\filefmt{sample\dhyphen maths.tex}} +@glscommand{glsentryuservi, + name={\csfmt{gls\-entry\-uservi}}, + user1={\margm{label}}, + description={expands to the value of the + \field{user6} field}, + topics={fieldrefcommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.miscsymbols.bib, - name={\filefmt{miscsymbols.bib}} +@glscommand{Glsentryuseri, + name={\csfmt{Gls\-entry\-useri}}, + user1={\margm{label}}, + description={displays the value of the + \field{user1} field with the first letter converted to +\idx{uppercase}}, + topics={fieldrefcommands,casecommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.sample-textsymbols.tex, - name={\filefmt{sample\dhyphen textsymbols.tex}} +@glscommand{Glsentryuserii, + name={\csfmt{Gls\-entry\-userii}}, + user1={\margm{label}}, + description={displays the value of the + \field{user2} field with the first letter converted to +\idx{uppercase}}, + topics={fieldrefcommands,casecommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.markuplanguages.bib, - name={\filefmt{markuplanguages.bib}} +@glscommand{Glsentryuseriii, + name={\csfmt{Gls\-entry\-useriii}}, + user1={\margm{label}}, + description={displays the value of the + \field{user3} field with the first letter converted to +\idx{uppercase}}, + topics={fieldrefcommands,casecommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.sample-markuplanguages.tex, - name={\filefmt{sample\dhyphen markuplanguages.tex}} +@glscommand{Glsentryuseriv, + name={\csfmt{Gls\-entry\-useriv}}, + user1={\margm{label}}, + description={displays the value of the + \field{user4} field with the first letter converted to +\idx{uppercase}}, + topics={fieldrefcommands,casecommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.usergroups.bib, - name={\filefmt{usergroups.bib}} +@glscommand{Glsentryuserv, + name={\csfmt{Gls\-entry\-userv}}, + user1={\margm{label}}, + description={displays the value of the + \field{user5} field with the first letter converted to +\idx{uppercase}}, + topics={fieldrefcommands,casecommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.sample-usergroups.tex, - name={\filefmt{sample\dhyphen usergroups.tex}} +@glscommand{Glsentryuservi, + name={\csfmt{Gls\-entry\-uservi}}, + user1={\margm{label}}, + description={displays the value of the + \field{user6} field with the first letter converted to +\idx{uppercase}}, + topics={fieldrefcommands,casecommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} } -@dualindexentry{file.animals.bib, - name={\filefmt{animals.bib}} +@glscommand{glsaccessname, + name={\csfmt{gls\-access\-name}}, + user1={\margm{label}}, + description={expands to the value of the + \field{name} field with the accessibility support + for that field, if provided (otherwise behaves the same as + \cs{glsentryname})}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-extra}\texparserdefnote}, + category={command} } -@dualindexentry{file.vegetables.bib, - name={\filefmt{vegetables.bib}} +@glscommand{Glsaccessname, + name={\csfmt{Gls\-access\-name}}, + user1={\margm{label}}, + description={expands to the value of the + \field{name} field with the first letter converted to + \idx{uppercase} and with the accessibility support + for that field, if provided (otherwise behaves the same as + \cs{Glsentryname})}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-extra}\texparserdefnote}, + category={command} } -@dualindexentry{file.minerals.bib, - name={\filefmt{minerals.bib}} +@glscommand{glsaccesstext, + name={\csfmt{gls\-access\-text}}, + user1={\margm{label}}, + description={expands to the value of the + \field{text} field with the accessibility support + for that field, if provided (otherwise behaves the same as + \cs{glsentrytext})}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-extra}\texparserdefnote}, + category={command} } -@dualindexentry{file.terms.bib, - name={\filefmt{terms.bib}} +@glscommand{Glsaccesstext, + name={\csfmt{Gls\-access\-text}}, + user1={\margm{label}}, + description={expands to the value of the + \field{text} field with the first letter converted to + \idx{uppercase} and with the accessibility support + for that field, if provided (otherwise behaves the same as + \cs{Glsentrytext})}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-extra}\texparserdefnote}, + category={command} } -@dualindexentry{file.sample-multi1.tex, - name={\filefmt{sample\dhyphen multi1.tex}} +@glscommand{glsaccessplural, + name={\csfmt{gls\-access\-plural}}, + user1={\margm{label}}, + description={expands to the value of the + \field{plural} field with the accessibility support + for that field, if provided (otherwise behaves the same as + \cs{glsentryplural})}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-extra}\texparserdefnote}, + category={command} } -@dualindexentry{file.sample-multi2.tex, - name={\filefmt{sample\dhyphen multi2.tex}} +@glscommand{Glsaccessplural, + name={\csfmt{Gls\-access\-plural}}, + user1={\margm{label}}, + description={expands to the value of the + \field{plural} field with the first letter converted to + \idx{uppercase} and with the accessibility support + for that field, if provided (otherwise behaves the same as + \cs{Glsentryplural})}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-extra}\texparserdefnote}, + category={command} } -@index{glshyperlink, - name={\csfmt{gls\-hyper\-link}}, - user1={\oargm{link text}\margm{label}}, - description={creates a hyperlink to the entry information in the - glossary}, - note={\styfmt{glossaries}}, +@glscommand{glsaccessfirst, + name={\csfmt{gls\-access\-first}}, + user1={\margm{label}}, + description={expands to the value of the + \field{first} field with the accessibility support + for that field, if provided (otherwise behaves the same as + \cs{glsentryfirst})}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-extra}\texparserdefnote}, category={command} } -@index{glsxtrfielddolistloop, - name={\csfmt{gls\-xtr\-field\-do\-list\-loop}}, - user1={\margm{label}\margm{field}}, - description={iterates over the items the given field, which contains - an \styfmt{etoolbox} internal list}, - note={\styfmt{glossaries-extra} v1.12+}, - seealso={glsxtrfieldforlistloop,glsxtrfieldifinlist,glsxtrfieldlistadd}, +@glscommand{Glsaccessfirst, + name={\csfmt{Gls\-access\-first}}, + user1={\margm{label}}, + description={expands to the value of the + \field{first} field with the first letter converted to + \idx{uppercase} and with the accessibility support + for that field, if provided (otherwise behaves the same as + \cs{Glsentryfirst})}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-extra}\texparserdefnote}, category={command} } -@index{glsxtrfieldforlistloop, - name={\csfmt{gls\-xtr\-field\-for\-list\-loop}}, - user1={\margm{label}\margm{field}\margm{handler}}, - description={iterates over the items the given field, which contains - an \styfmt{etoolbox} internal list, using the given handler}, - note={\styfmt{glossaries-extra} v1.29+}, - seealso={glsxtrfielddolistloop,glsxtrfieldifinlist,glsxtrfieldlistadd}, +@glscommand{glsaccessfirstplural, + name={\csfmt{gls\-access\-first\-plural}}, + user1={\margm{label}}, + description={expands to the value of the + \field{firstplural} field with the accessibility support + for that field, if provided (otherwise behaves the same as + \cs{glsentryfirstplural})}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-extra}\texparserdefnote}, category={command} } -@index{glsfieldfetch, - name={\csfmt{gls\-field\-fetch}}, - user1={\margm{label}\margm{field}\margm{cs}}, - description={fetches the value of the given field for the given - label and stores it in the command \meta{cs}}, - note={\styfmt{glossaries}}, +@glscommand{Glsaccessfirstplural, + name={\csfmt{Gls\-access\-first\-plural}}, + user1={\margm{label}}, + description={expands to the value of the + \field{firstplural} field with the first letter converted to + \idx{uppercase} and with the accessibility support + for that field, if provided (otherwise behaves the same as + \cs{Glsentryfirstplural})}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-extra}\texparserdefnote}, category={command} } -@index{glsxtrautoindexassignsort, - name={\csfmt{gls\-xtr\-auto\-index\-assign\-sort}}, - user1={\margm{cs}\margm{label}}, - description={assigns the sort value for \cs{index} when - using auto-indexing}, - note={\styfmt{glossaries-extra} v1.16+}, +@glscommand{glsaccesssymbol, + name={\csfmt{gls\-access\-symbol}}, + user1={\margm{label}}, + description={expands to the value of the + \field{symbol} field with the accessibility support + for that field, if provided (otherwise behaves the same as + \cs{glsentrysymbol})}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-extra}\texparserdefnote}, category={command} } -@index{glsxtrautoindexentry, - name={\csfmt{gls\-xtr\-auto\-index\-entry}}, +@glscommand{Glsaccesssymbol, + name={\csfmt{Gls\-access\-symbol}}, user1={\margm{label}}, - description={used for the actual value in \cs{index} when - using auto-indexing}, - note={\styfmt{glossaries-extra} v1.16+}, + description={expands to the value of the + \field{symbol} field with the first letter converted to + \idx{uppercase} and with the accessibility support + for that field, if provided (otherwise behaves the same as + \cs{Glsentrysymbol})}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-extra}\texparserdefnote}, category={command} } -@index{glsseeformat, - name={\csfmt{gls\-see\-format}}, - user1={\margm{tag}\margm{labels}\margm{location (ignored)}}, - description={formats the entries identified in the comma separated - list of labels as a set of cross-references, where each - item in the list is encapsulated with \cs{glsseeitem} and - each element is separated with \cs{glsseesep} or - \cs{glsseelastsep}}, - note={\styfmt{glossaries}}, - seealso={glsseeitem,glsseeitemformat,glsseesep,glsseelastsep}, +@glscommand{glsaccesssymbolplural, + name={\csfmt{gls\-access\-symbol\-plural}}, + user1={\margm{label}}, + description={expands to the value of the + \field{symbolplural} field with the accessibility support + for that field, if provided (otherwise behaves the same as + \cs{glsentrysymbolplural})}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-extra}\texparserdefnote}, category={command} } -@index{glsseeitem, - name={\csfmt{gls\-see\-item}}, +@glscommand{Glsaccesssymbolplural, + name={\csfmt{Gls\-access\-symbol\-plural}}, user1={\margm{label}}, - description={formats an element of the cross-reference list. - The default behaviour is to create a hyperlink (if enabled) to the - referenced entry with the link text given by - \code{\cs{glsseeitemformat}\margm{label}}}, - note={\styfmt{glossaries}}, - seealso={glsseeformat,glsseeitemformat}, + description={expands to the value of the + \field{symbolplural} field with the first letter converted to + \idx{uppercase} and with the accessibility support + for that field, if provided (otherwise behaves the same as + \cs{Glsentrysymbolplural})}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-extra}\texparserdefnote}, category={command} } -@index{glsseeitemformat, - name={\csfmt{gls\-see\-item\-format}}, +@glscommand{glsaccessdesc, + name={\csfmt{gls\-access\-desc}}, user1={\margm{label}}, - description={formats an element of the cross-reference list. - With the base \styfmt{glossaries} package this just does - \code{\cs{glsentrytext}\margm{label}}. With - \styfmt{glossaries-extra} this uses either \cs{glsentryshort} - or \cs{glsentryname} depending on whether or not the - \field{short} field has been set}, - note={\styfmt{glossaries} v3.0+}, - seealso={glsseeformat,glsseeitem}, + description={expands to the value of the + \field{description} field with the accessibility support + for that field, if provided (otherwise behaves the same as + \cs{glsentrydesc})}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-extra}\texparserdefnote}, category={command} } -@index{glsseesep, - name={\csfmt{gls\-see\-sep}}, - description={the separator used between all but the last - entries of a cross-reference list}, - note={\styfmt{glossaries}}, - seealso={glsseeformat,glsseelastsep}, +@glscommand{Glsaccessdesc, + name={\csfmt{Gls\-access\-desc}}, + user1={\margm{label}}, + description={expands to the value of the + \field{description} field with the first letter converted to + \idx{uppercase} and with the accessibility support + for that field, if provided (otherwise behaves the same as + \cs{Glsentrydesc})}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-extra}\texparserdefnote}, category={command} } -@index{glsseelastsep, - name={\csfmt{gls\-see\-last\-sep}}, - description={the separator used between the penultimate and - ultimate entries of a cross-reference list}, - note={\styfmt{glossaries}}, - seealso={glsseeformat,glsseesep}, +@glscommand{glsaccessdescplural, + name={\csfmt{gls\-access\-desc\-plural}}, + user1={\margm{label}}, + description={expands to the value of the + \field{descriptionplural} field with the accessibility support + for that field, if provided (otherwise behaves the same as + \cs{glsentrydescplural})}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-extra}\texparserdefnote}, category={command} } -@index{glsxtruseseeformat, - name={\csfmt{gls\-xtr\-use\-see\-format}}, - user1={\margm{tag}\margm{labels}}, - description={formats the entries identified in the comma separated - list of labels as a set of cross-references}, - note={\styfmt{glossaries}}, +@glscommand{Glsaccessdescplural, + name={\csfmt{Gls\-access\-desc\-plural}}, + user1={\margm{label}}, + description={expands to the value of the + \field{descriptionplural} field with the first letter converted to + \idx{uppercase} and with the accessibility support + for that field, if provided (otherwise behaves the same as + \cs{Glsentrydescplural})}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-extra}\texparserdefnote}, category={command} } -@index{glsxtrhiername, - name={\csfmt{gls\-xtr\-hier\-name}}, +@glscommand{glsaccessshort, + name={\csfmt{gls\-access\-short}}, user1={\margm{label}}, - description={Displays the hierarchical name for the entry - identified by \meta{label} with each level separated by - \cs{glsxtrhiernamesep}}, - note={\styfmt{glossaries-extra} v1.37+}, - seealso={glsxtrhiernamesep}, + description={expands to the value of the + \field{short} field with the accessibility support + for that field, if provided (otherwise behaves the same as + \cs{glsentryshort})}, + topics={fieldrefcommands,access-support,abbreviationcommands}, + note={\styfmt{glossaries-extra}\texparserdefnote}, category={command} } -@index{glsxtrhiernamesep, - name={\csfmt{gls\-xtr\-hier\-name\-sep}}, - description={Separator between hierarchical levels displayed with - \cs{glsxtrhiername} (and case-changing variants). This defaults - to \qt{\glsxtrhiernamesep} with the \styfmt{glossaries-extra} - package, but the \bibgls\ interpreter has a different definition - to assist sorting}, - note={\styfmt{glossaries-extra} v1.37+}, - seealso={glsxtrhiername}, +@glscommand{Glsaccessshort, + name={\csfmt{Gls\-access\-short}}, + user1={\margm{label}}, + description={expands to the value of the + \field{short} field with the first letter converted to + \idx{uppercase} and with the accessibility support + for that field, if provided (otherwise behaves the same as + \cs{Glsentryshort})}, + topics={fieldrefcommands,access-support,abbreviationcommands}, + note={\styfmt{glossaries-extra}\texparserdefnote}, category={command} } -@index{Glsxtrhiername, - name={\csfmt{Gls\-xtr\-hier\-name}}, +@glscommand{glsaccessshortpl, + name={\csfmt{gls\-access\-shortpl}}, user1={\margm{label}}, - description={Displays the hierarchical name for the entry - identified by \meta{label} with each level separated by - \cs{glsxtrhiernamesep} where the top-most name has the - first letter converted to \idx{uppercase}}, - note={\styfmt{glossaries-extra} v1.37+}, - seealso={glsxtrhiername,glsxtrhiernamesep}, + description={expands to the value of the + \field{shortplural} field with the accessibility support + for that field, if provided (otherwise behaves the same as + \cs{glsentryshortpl})}, + topics={fieldrefcommands,access-support,abbreviationcommands}, + note={\styfmt{glossaries-extra}\texparserdefnote}, category={command} } -@index{GlsXtrhiername, - name={\csfmt{Gls\-Xtr\-hier\-name}}, +@glscommand{Glsaccessshortpl, + name={\csfmt{Gls\-access\-shortpl}}, user1={\margm{label}}, - description={Displays the hierarchical name for the entry - identified by \meta{label} with each level separated by - \cs{glsxtrhiernamesep} where each name has the - first letter converted to \idx{uppercase}}, - note={\styfmt{glossaries-extra} v1.37+}, - seealso={glsxtrhiername,glsxtrhiernamesep}, + description={expands to the value of the + \field{shortplural} field with the first letter converted to + \idx{uppercase} and with the accessibility support + for that field, if provided (otherwise behaves the same as + \cs{Glsentryshortpl})}, + topics={fieldrefcommands,access-support,abbreviationcommands}, + note={\styfmt{glossaries-extra}\texparserdefnote}, category={command} } -@index{GLSxtrhiername, - name={\csfmt{GLS\-xtr\-hier\-name}}, +@glscommand{glsaccesslong, + name={\csfmt{gls\-access\-long}}, user1={\margm{label}}, - description={Displays the hierarchical name for the entry - identified by \meta{label} with each level separated by - \cs{glsxtrhiernamesep} where the top-most name is converted to \idx{uppercase}}, - note={\styfmt{glossaries-extra} v1.37+}, - seealso={glsxtrhiername,glsxtrhiernamesep}, + description={expands to the value of the + \field{long} field with the accessibility support + for that field, if provided (otherwise behaves the same as + \cs{glsentrylong})}, + topics={fieldrefcommands,access-support,abbreviationcommands}, + note={\styfmt{glossaries-extra}\texparserdefnote}, category={command} } -@index{GLSXTRhiername, - name={\csfmt{GLS\-XTR\-hier\-name}}, +@glscommand{Glsaccesslong, + name={\csfmt{Gls\-access\-long}}, user1={\margm{label}}, - description={Displays the hierarchical name for the entry - identified by \meta{label} with each level separated by - \cs{glsxtrhiernamesep} where each name is converted - to \idx{uppercase}}, - note={\styfmt{glossaries-extra} v1.37+}, - seealso={glsxtrhiername,glsxtrhiernamesep}, + description={expands to the value of the + \field{long} field with the first letter converted to + \idx{uppercase} and with the accessibility support + for that field, if provided (otherwise behaves the same as + \cs{Glsentrylong})}, + topics={fieldrefcommands,access-support,abbreviationcommands}, + note={\styfmt{glossaries-extra}\texparserdefnote}, category={command} } -@index{glsextrapostnamehook, - name={\csfmt{gls\-extra\-post\-name\-hook}}, +@glscommand{glsaccesslongpl, + name={\csfmt{gls\-access\-longpl}}, user1={\margm{label}}, - description={additional category-independent code for the -post-name hook}, - note={\styfmt{glossaries-extra} v1.25+}, + description={expands to the value of the + \field{longplural} field with the accessibility support + for that field, if provided (otherwise behaves the same as + \cs{glsentrylongpl})}, + topics={fieldrefcommands,access-support,abbreviationcommands}, + note={\styfmt{glossaries-extra}\texparserdefnote}, category={command} } -@index{glsentrytext, - name={\csfmt{gls\-entry\-text}}, +@glscommand{Glsaccesslongpl, + name={\csfmt{Gls\-access\-longpl}}, user1={\margm{label}}, description={expands to the value of the - \field{text} field}, - note={\styfmt{glossaries}}, + \field{longplural} field with the first letter converted to + \idx{uppercase} and with the accessibility support + for that field, if provided (otherwise behaves the same as + \cs{Glsentrylongpl})}, + topics={fieldrefcommands,access-support,abbreviationcommands}, + note={\styfmt{glossaries-extra}\texparserdefnote}, category={command} } -@index{Glsentrytext, - name={\csfmt{Gls\-entry\-text}}, +@glscommand{glsxtrentryparentname, + name={\csfmt{gls\-xtr\-entry\-parent\-name}}, user1={\margm{label}}, - description={displays the value of the \field{text} field with - the first letter converted to \idx{uppercase}}, - note={\styfmt{glossaries}}, + description={expands to the entry's parent's name}, + topics={fieldrefcommands}, + note={\styfmt{glossaries-extra}\texparserdefnote\ v1.39+}, category={command} } -@index{glsentryplural, - name={\csfmt{gls\-entry\-plural}}, +@glscommand{glsentryprefix, + name={\csfmt{gls\-entry\-prefix}}, user1={\margm{label}}, - description={expands to the value of the - \field{plural} field}, - note={\styfmt{glossaries}}, + description={expands to the value of the \field{prefix} field}, + topics={fieldrefcommands}, + note={\styfmt{glossaries-prefix}}, category={command} } -@index{Glsentryplural, - name={\csfmt{Gls\-entry\-plural}}, +@glscommand{glsentryprefixplural, + name={\csfmt{gls\-entry\-prefix\-plural}}, user1={\margm{label}}, - description={displays the value of the - \field{plural} field with the first letter converted to -\idx{uppercase}}, - note={\styfmt{glossaries}}, + description={expands to the value of the \field{prefixplural} field}, + topics={fieldrefcommands}, + note={\styfmt{glossaries-prefix}}, category={command} } -@index{glsentryfirst, - name={\csfmt{gls\-entry\-first}}, +@glscommand{glsentryprefixfirst, + name={\csfmt{gls\-entry\-prefix\-first}}, user1={\margm{label}}, - description={expands to the value of the - \field{first} field}, - note={\styfmt{glossaries}}, + description={expands to the value of the \field{prefixfirst} field}, + topics={fieldrefcommands}, + note={\styfmt{glossaries-prefix}}, category={command} } -@index{Glsentryfirst, - name={\csfmt{Gls\-entry\-first}}, +@glscommand{glsentryprefixfirstplural, + name={\csfmt{gls\-entry\-prefix\-first\-plural}}, user1={\margm{label}}, - description={displays the value of the - \field{first} field with the first letter converted to - \idx{uppercase}}, - note={\styfmt{glossaries}}, + description={expands to the value of the \field{prefixfirstplural} field}, + topics={fieldrefcommands}, + note={\styfmt{glossaries-prefix}}, category={command} } -@index{glsentryfirstplural, - name={\csfmt{gls\-entry\-first\-plural}}, +@glscommand{Glsentryprefix, + name={\csfmt{Gls\-entry\-prefix}}, user1={\margm{label}}, - description={expands to the value of the - \field{firstplural} field}, - note={\styfmt{glossaries}}, + description={expands to the value of the \field{prefix} field + with the first letter converted to \idx{uppercase}}, + topics={fieldrefcommands,casecommands}, + note={\styfmt{glossaries-prefix}}, category={command} } -@index{Glsentryfirstplural, - name={\csfmt{Gls\-entry\-first\-plural}}, +@glscommand{Glsentryprefixplural, + name={\csfmt{Gls\-entry\-prefix\-plural}}, user1={\margm{label}}, - description={displays the value of the - \field{firstplural} field with the first letter converted to - \idx{uppercase}}, - note={\styfmt{glossaries}}, + description={expands to the value of the \field{prefixplural} field + with the first letter converted to \idx{uppercase}}, + topics={fieldrefcommands,casecommands}, + note={\styfmt{glossaries-prefix}}, category={command} } -@index{glsentryname, - name={\csfmt{gls\-entry\-name}}, +@glscommand{Glsentryprefixfirst, + name={\csfmt{Gls\-entry\-prefix\-first}}, user1={\margm{label}}, - description={expands to the value of the - \field{name} field}, - note={\styfmt{glossaries}}, + description={expands to the value of the \field{prefixfirst} field + with the first letter converted to \idx{uppercase}}, + topics={fieldrefcommands,casecommands}, + note={\styfmt{glossaries-prefix}}, category={command} } -@index{Glsentryname, - name={\csfmt{Gls\-entry\-name}}, +@glscommand{Glsentryprefixfirstplural, + name={\csfmt{Gls\-entry\-prefix\-first\-plural}}, user1={\margm{label}}, - description={displays the value of the - \field{name} field with the first character - converted to upper case}, - note={\styfmt{glossaries}}, + description={expands to the value of the \field{prefixfirstplural} field + with the first letter converted to \idx{uppercase}}, + topics={fieldrefcommands,casecommands}, + note={\styfmt{glossaries-prefix}}, category={command} } -@index{glsentrydesc, - name={\csfmt{gls\-entry\-desc}}, - user1={\margm{label}}, - description={expands to the value of the - \field{description} field}, - note={\styfmt{glossaries}}, +@glscommand{glssetcategoryattribute, + name={\csfmt{gls\-set\-cat\-e\-gory\-at\-tribute}}, + user1={\margm{category}\margm{attribute}\margm{value}}, + description={sets the value of the attribute for the given +category}, + topics={assigncommands,catattrcommands}, + note={\styfmt{glossaries-extra}}, category={command} } -@index{Glsentrydesc, - name={\csfmt{Gls\-entry\-desc}}, +@glscommand{glsentryaccess, + name={\csfmt{gls\-entry\-access}}, user1={\margm{label}}, - description={displays the value of the - \field{description} field with the first letter converted to - upper case}, - note={\styfmt{glossaries}}, + description={expands to the value of the \field{access} field}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-access}}, category={command} } -@index{glsentrysymbol, - name={\csfmt{gls\-entry\-symbol}}, +@glscommand{glsentrytextaccess, + name={\csfmt{gls\-entry\-text\-access}}, user1={\margm{label}}, - description={expands to the value of the - \field{symbol} field}, - note={\styfmt{glossaries}}, + description={expands to the value of the \field{textaccess} field}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-access}}, category={command} } -@index{Glsentrysymbol, - name={\csfmt{Gls\-entry\-symbol}}, +@glscommand{glsentryfirstaccess, + name={\csfmt{gls\-entry\-first\-access}}, user1={\margm{label}}, - description={displays the value of the - \field{symbol} field with the first letter converted to -\idx{uppercase}}, - note={\styfmt{glossaries}}, + description={expands to the value of the \field{firstaccess} field}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-access}}, category={command} } -@index{glsentrysymbolplural, - name={\csfmt{gls\-entry\-symbol\-plural}}, +@glscommand{glsentrypluralaccess, + name={\csfmt{gls\-entry\-plural\-access}}, user1={\margm{label}}, - description={expands to the value of the - \field{symbolplural} field}, - note={\styfmt{glossaries}}, + description={expands to the value of the \field{pluralaccess} field}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-access}}, category={command} } -@index{Glsentrysymbolplural, - name={\csfmt{Gls\-entry\-symbol\-plural}}, +@glscommand{glsentryfirstpluralaccess, + name={\csfmt{gls\-entry\-first\-plural\-access}}, user1={\margm{label}}, - description={displays the value of the - \field{symbolplural} field with the first letter converted to -\idx{uppercase}}, - note={\styfmt{glossaries}}, + description={expands to the value of the \field{firstpluralaccess} field}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-access}}, category={command} } -@index{glsentrylong, - name={\csfmt{gls\-entry\-long}}, +@glscommand{glsentrysymbolaccess, + name={\csfmt{gls\-entry\-symbol\-access}}, user1={\margm{label}}, - description={expands to the value of the \field{long} field - without any formatting or indexing}, - note={\styfmt{glossaries}}, + description={expands to the value of the \field{symbolaccess} field}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-access}}, category={command} } -@index{glsentrylongpl, - name={\csfmt{gls\-entry\-long\-pl}}, +@glscommand{glsentrysymbolpluralaccess, + name={\csfmt{gls\-entry\-symbol\-plural\-access}}, user1={\margm{label}}, - description={expands to the value of the \field{longplural} field - without any formatting or indexing}, - note={\styfmt{glossaries}}, + description={expands to the value of the \field{symbolpluralaccess} field}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-access}}, category={command} } -@index{Glsentrylong, - name={\csfmt{Gls\-entry\-long}}, +@glscommand{glsentrydescaccess, + name={\csfmt{gls\-entry\-desc\-access}}, user1={\margm{label}}, - description={displays the value of the - \field{long} field without any formatting or indexing but - with the first letter converted to \idx{uppercase}}, - note={\styfmt{glossaries}}, + description={expands to the value of the \field{descriptionaccess} field}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-access}}, category={command} } -@index{Glsentrylongpl, - name={\csfmt{Gls\-entry\-long\-pl}}, +@glscommand{glsentrydescpluralaccess, + name={\csfmt{gls\-entry\-desc\-plural\-access}}, user1={\margm{label}}, - description={displays the value of the - \field{longplural} field without any formatting or indexing but - with the first letter converted to \idx{uppercase}}, - note={\styfmt{glossaries}}, + description={expands to the value of the \field{descriptionpluralaccess} field}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-access}}, category={command} } -@index{glsentryshort, - name={\csfmt{gls\-entry\-short}}, +@glscommand{glsentryshortaccess, + name={\csfmt{gls\-entry\-short\-access}}, user1={\margm{label}}, - description={expands to the value of the - \field{short} field without any formatting or indexing}, - note={\styfmt{glossaries}}, + description={expands to the value of the \field{shortaccess} field}, + topics={fieldrefcommands,access-support,abbreviationcommands}, + note={\styfmt{glossaries-access}}, category={command} } -@index{glsentryshortpl, - name={\csfmt{gls\-entry\-short\-pl}}, +@glscommand{glsentryshortpluralaccess, + name={\csfmt{gls\-entry\-short\-plural\-access}}, user1={\margm{label}}, - description={expands to the value of the - \field{shortplural} field without any formatting or indexing}, - note={\styfmt{glossaries}}, + description={expands to the value of the \field{shortpluralaccess} field}, + topics={fieldrefcommands,access-support,abbreviationcommands}, + note={\styfmt{glossaries-access}}, category={command} } -@index{Glsentryshort, - name={\csfmt{Gls\-entry\-short}}, +@glscommand{glsentrylongaccess, + name={\csfmt{gls\-entry\-long\-access}}, user1={\margm{label}}, - description={displays the value of the - \field{short} field without any formatting or indexing but - with the first letter converted to \idx{uppercase}}, - note={\styfmt{glossaries}}, + description={expands to the value of the \field{longaccess} field}, + topics={fieldrefcommands,access-support,abbreviationcommands}, + note={\styfmt{glossaries-access}}, category={command} } -@index{Glsentryshortpl, - name={\csfmt{Gls\-entry\-short\-pl}}, +@glscommand{glsentrylongpluralaccess, + name={\csfmt{gls\-entry\-long\-plural\-access}}, user1={\margm{label}}, - description={displays the value of the - \field{shortplural} field without any formatting or indexing - but with the first letter converted to \idx{uppercase}}, - note={\styfmt{glossaries}}, + description={expands to the value of the \field{longpluralaccess} field}, + topics={fieldrefcommands,access-support,abbreviationcommands}, + note={\styfmt{glossaries-access}}, + category={command} +} + +@glscommand{glsnameaccessdisplay, + name={\csfmt{gls\-name\-access\-display}}, + user1={\margm{text}\margm{label}}, + description={displays \meta{text} with the accessibility support + provided by \code{\cs{glsentryaccess}\margm{label}}}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-access}}, category={command} } -@index{glsentryuseri, - name={\csfmt{gls\-entry\-useri}}, - user1={\margm{label}}, - description={expands to the value of the - \field{user1} field}, - note={\styfmt{glossaries}}, +@glscommand{glstextaccessdisplay, + name={\csfmt{gls\-text\-access\-display}}, + user1={\margm{text}\margm{label}}, + description={displays \meta{text} with the accessibility support + provided by \code{\cs{glsentrytextaccess}\margm{label}}}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-access}}, category={command} } -@index{glsentryuserii, - name={\csfmt{gls\-entry\-userii}}, - user1={\margm{label}}, - description={expands to the value of the - \field{user2} field}, - note={\styfmt{glossaries}}, +@glscommand{glspluralaccessdisplay, + name={\csfmt{gls\-plural\-access\-display}}, + user1={\margm{text}\margm{label}}, + description={displays \meta{text} with the accessibility support + provided by \code{\cs{glsentrypluralaccess}\margm{label}}}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-access}}, category={command} } -@index{glsentryuseriii, - name={\csfmt{gls\-entry\-useriii}}, - user1={\margm{label}}, - description={expands to the value of the - \field{user3} field}, - note={\styfmt{glossaries}}, +@glscommand{glsfirstaccessdisplay, + name={\csfmt{gls\-first\-access\-display}}, + user1={\margm{text}\margm{label}}, + description={displays \meta{text} with the accessibility support + provided by \code{\cs{glsentryfirstaccess}\margm{label}}}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-access}}, category={command} } -@index{glsentryuseriv, - name={\csfmt{gls\-entry\-useriv}}, - user1={\margm{label}}, - description={expands to the value of the - \field{user4} field}, - note={\styfmt{glossaries}}, +@glscommand{glsfirstpluralaccessdisplay, + name={\csfmt{gls\-first\-plural\-access\-display}}, + user1={\margm{text}\margm{label}}, + description={displays \meta{text} with the accessibility support + provided by \code{\cs{glsentryfirstpluralaccess}\margm{label}}}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-access}}, category={command} } -@index{glsentryuserv, - name={\csfmt{gls\-entry\-userv}}, - user1={\margm{label}}, - description={expands to the value of the - \field{user5} field}, - note={\styfmt{glossaries}}, +@glscommand{glssymbolaccessdisplay, + name={\csfmt{gls\-symbol\-access\-display}}, + user1={\margm{text}\margm{label}}, + description={displays \meta{text} with the accessibility support + provided by \code{\cs{glsentrysymbolaccess}\margm{label}}}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-access}}, category={command} } -@index{glsentryuservi, - name={\csfmt{gls\-entry\-uservi}}, - user1={\margm{label}}, - description={expands to the value of the - \field{user6} field}, - note={\styfmt{glossaries}}, +@glscommand{glssymbolpluralaccessdisplay, + name={\csfmt{gls\-symbol\-plural\-access\-display}}, + user1={\margm{text}\margm{label}}, + description={displays \meta{text} with the accessibility support + provided by \code{\cs{glsentrysymbolpluralaccess}\margm{label}}}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-access}}, category={command} } -@index{Glsentryuseri, - name={\csfmt{Gls\-entry\-useri}}, - user1={\margm{label}}, - description={displays the value of the - \field{user1} field with the first letter converted to -\idx{uppercase}}, - note={\styfmt{glossaries}}, +@glscommand{glsdescriptionaccessdisplay, + name={\csfmt{gls\-descrip\-tion\-access\-display}}, + user1={\margm{text}\margm{label}}, + description={displays \meta{text} with the accessibility support + provided by \code{\cs{glsentrydescaccess}\margm{label}}}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-access}}, category={command} } -@index{Glsentryuserii, - name={\csfmt{Gls\-entry\-userii}}, - user1={\margm{label}}, - description={displays the value of the - \field{user2} field with the first letter converted to -\idx{uppercase}}, - note={\styfmt{glossaries}}, +@glscommand{glsdescriptionpluralaccessdisplay, + name={\csfmt{gls\-descrip\-tion\-plural\-access\-display}}, + user1={\margm{text}\margm{label}}, + description={displays \meta{text} with the accessibility support + provided by \code{\cs{glsentrydescpluralaccess}\margm{label}}}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-access}}, category={command} } -@index{Glsentryuseriii, - name={\csfmt{Gls\-entry\-useriii}}, - user1={\margm{label}}, - description={displays the value of the - \field{user3} field with the first letter converted to -\idx{uppercase}}, - note={\styfmt{glossaries}}, +@glscommand{glsshortaccessdisplay, + name={\csfmt{gls\-short\-access\-display}}, + user1={\margm{text}\margm{label}}, + description={displays \meta{text} with the accessibility support + provided by \code{\cs{glsentryshortaccess}\margm{label}}}, + topics={fieldrefcommands,access-support,abbreviationcommands}, + note={\styfmt{glossaries-access}}, category={command} } -@index{Glsentryuseriv, - name={\csfmt{Gls\-entry\-useriv}}, - user1={\margm{label}}, - description={displays the value of the - \field{user4} field with the first letter converted to -\idx{uppercase}}, - note={\styfmt{glossaries}}, +@glscommand{glsshortpluralaccessdisplay, + name={\csfmt{gls\-short\-plural\-access\-display}}, + user1={\margm{text}\margm{label}}, + description={displays \meta{text} with the accessibility support + provided by \code{\cs{glsentryshortpluralaccess}\margm{label}}}, + topics={fieldrefcommands,access-support,abbreviationcommands}, + note={\styfmt{glossaries-access}}, category={command} } -@index{Glsentryuserv, - name={\csfmt{Gls\-entry\-userv}}, - user1={\margm{label}}, - description={displays the value of the - \field{user5} field with the first letter converted to -\idx{uppercase}}, - note={\styfmt{glossaries}}, +@glscommand{glslongaccessdisplay, + name={\csfmt{gls\-long\-access\-display}}, + user1={\margm{text}\margm{label}}, + description={displays \meta{text} with the accessibility support + provided by \code{\cs{glsentrylongaccess}\margm{label}}}, + topics={fieldrefcommands,access-support,abbreviationcommands}, + note={\styfmt{glossaries-access}}, category={command} } -@index{Glsentryuservi, - name={\csfmt{Gls\-entry\-uservi}}, - user1={\margm{label}}, - description={displays the value of the - \field{user6} field with the first letter converted to -\idx{uppercase}}, - note={\styfmt{glossaries}}, +@glscommand{glslongpluralaccessdisplay, + name={\csfmt{gls\-long\-plural\-access\-display}}, + user1={\margm{text}\margm{label}}, + description={displays \meta{text} with the accessibility support + provided by \code{\cs{glsentrylongpluralaccess}\margm{label}}}, + topics={fieldrefcommands,access-support,abbreviationcommands}, + note={\styfmt{glossaries-access}}, category={command} } -@index{glssetcategoryattribute, - name={\csfmt{gls\-set\-cat\-e\-gory\-at\-tribute}}, - user1={\margm{category}\margm{attribute}\margm{value}}, - description={sets the value of the attribute for the given -category}, - note={\styfmt{glossaries-extra}}, +@glscommand{glsaccessdisplay, + name={\csfmt{gls\-access\-display}}, + user1={\margm{field}\margm{text}\margm{label}}, + description={displays \meta{text} with the accessibility support + provided by \code{\csfmt{glsentry\meta{field}access}\margm{label}}}, + topics={fieldrefcommands,access-support}, + note={\styfmt{glossaries-access}}, category={command} } -@index{glsxtrpostlinkAddDescOnFirstUse, +@glscommand{glsxtrpostlinkAddDescOnFirstUse, name={\csfmt{gls\-xtr\-post\-link\-Add\-Desc\-On\-First\-Use}}, description={only for use in the post-link hooks, this appends a space and the value of the \field{description} field in parentheses if the entry that was just referenced was used for the first time}, + topics={hooks}, note={\styfmt{glossaries-extra}}, category={command} } -@index{glsxtrpostlinkAddSymbolOnFirstUse, +@glscommand{glsxtrpostlinkAddSymbolOnFirstUse, name={\csfmt{gls\-xtr\-post\-link\-Add\-Symbol\-On\-First\-Use}}, description={only for use in the post-link hooks, this appends a space and the value of the \field{symbol} field in parentheses if the entry that was just referenced was used for the first time and has the \field{symbol} field set}, + topics={hooks}, note={\styfmt{glossaries-extra}}, category={command} } -@index{glsxtrpostlinkAddSymbolDescOnFirstUse, +@glscommand{glsxtrpostlinkAddSymbolDescOnFirstUse, name={\csfmt{gls\-xtr\-post\-link\-Add\-Symbol\-Desc\-On\-First\-Use}}, description={only for use in the post-link hooks, if the entry that was just referenced was used for the first time, this appends a space and, in parentheses, the value of the \field{symbol} field (if set) followed by the value of the \field{description} field}, + topics={hooks}, note={\styfmt{glossaries-extra} v1.31+}, category={command} } -@index{glspluralsuffix, +@glscommand{glspluralsuffix, name={\csfmt{gls\-plural\-suffix}}, user1={}, description={the suffix used to construct the default plural}, - note={\styfmt{glossaries}}, + topics={fixedtextcommands}, + note={\styfmt{glossaries}\texparserdefnote}, category={command} } -@index{acrpluralsuffix, +@glscommand{acrpluralsuffix, name={\csfmt{acr\-plural\-suffix}}, user1={}, description={the suffix used to construct the default plural for - the short form of acronyms}, - note={\styfmt{glossaries}}, + the short form of acronyms using the base \sty{glossaries} + package's acronym mechanism (not used with the + \sty{glossaries-extra} enhanced abbreviation mechanism)}, + topics={fixedtextcommands,abbreviationcommands}, + note={\styfmt{glossaries}\texparserdefnote}, category={command} } -@index{abbrvpluralsuffix, +@glscommand{abbrvpluralsuffix, name={\csfmt{abbrv\-plural\-suffix}}, user1={}, description={the style sensitive suffix used to construct the default plural for the short form of abbreviations}, - note={\styfmt{glossaries-extra}}, + topics={fixedtextcommands,abbreviationcommands}, + note={\styfmt{glossaries-extra}\texparserdefnote}, seealso={glsxtrabbrvpluralsuffix}, category={command} } -@index{glsxtrabbrvpluralsuffix, +@abbrvstylecommand{glsxtrabbrvpluralsuffix, name={\csfmt{gls\-xtr\-abbrv\-plural\-suffix}}, user1={}, description={the default suffix used to construct the plural for - the short form of abbreviations}, - note={\styfmt{glossaries-extra}}, + the short form of abbreviations. This just uses + \cs{glspluralsuffix}. If you don't want a plural suffix, you can + use the \catattr{noshortplural} attribute}, + note={\styfmt{glossaries-extra}\texparserdefnote}, + topics={abbrstyle.long-short,abbrstyle.short-long,abbrstyle.short-footnote,abbrstyle.short-postfootnote,abbrstyle.short-nolong,abbrstyle.nolong-short,abbrstyle.nolong-short-noreg,abbrstyle.short-nolong-desc,abbrstyle.long-noshort-desc,abbrstyle.long-noshort-desc-noreg,abbrstyle.long-hyphen-noshort-desc-noreg,abbrstyle.long-hyphen-noshort-noreg,abbrstyle.long-noshort,abbrstyle.long-noshort-noreg,abbrstyle.long-short-desc}, category={command} } -@index{glsxtrscsuffix, - name={\csfmt{gls\-xtr\-sc\-suffix}}, - user1={}, - description={the suffix used to construct the plural for - the short form of abbreviations with one of the small-cap - (\code{sc}) styles}, - note={\styfmt{glossaries-extra}}, - category={command} -} - -@index{glsdefpostlink, +@glscommand{glsdefpostlink, name={\csfmt{gls\-def\-post\-link}}, user1={\margm{category}\margm{definition}}, description={define the post-link hook \cs{glsxtrpostlinkcategory} for the given category}, + topics={hooks,providingcommands}, note={\styfmt{glossaries-extra} v1.31+}, category={command} } -@index{glsdefpostname, +@glscommand{glsdefpostname, name={\csfmt{gls\-def\-post\-name}}, user1={\margm{category}\margm{definition}}, description={define the post-name hook \cs{glsxtrpostnamecategory} for the given category}, + topics={hooks,providingcommands}, note={\styfmt{glossaries-extra} v1.31+}, category={command} } -@index{glsdefpostdesc, +@glscommand{glsdefpostdesc, name={\csfmt{gls\-def\-post\-desc}}, user1={\margm{category}\margm{definition}}, description={define the post-description hook \csfmt{glsxtrpostdesc}\meta{category} for the given category}, + topics={hooks,providingcommands}, note={\styfmt{glossaries-extra} v1.31+}, category={command} } -@index{glsxtrifwasfirstuse, +@glscommand{glsxtrifwasfirstuse, name={\csfmt{glsxtr\-if\-was\-first\-use}}, user1={\margm{true}\margm{false}}, description={only for use in the post-link hooks this tests if the entry just referenced was used for the first time}, + topics={hooks,conditionals}, note={\styfmt{glossaries-extra}}, category={command} } -@index{ifglsused, +@glscommand{ifglsused, name={\csfmt{if\-gls\-used}}, user1={\margm{label}\margm{true}\margm{false}}, description={does \meta{true} if the entry given by \meta{label} has been @@ -7654,247 +11089,276 @@ category}, if the entry doesn't exist (an error or warning message will occur and ?? will appear in the document). This command is not for use in the post-link hooks}, + topics={conditionals,entryrefcommands}, note={\styfmt{glossaries}}, seealso={GlsXtrIfUnusedOrUndefined,glsxtrifwasfirstuse}, category={command} } -@index{GlsXtrIfUnusedOrUndefined, +@glscommand{GlsXtrIfUnusedOrUndefined, name={\csfmt{Gls\-Xtr\-If\-Un\-used\-Or\-Un\-defined}}, user1={\margm{label}\margm{true}\margm{false}}, description={does \meta{true} if the entry given by \meta{label} hasn't been used or is undefined, otherwise it does \meta{false}. This command is not for use in the post-link hooks}, + topics={conditionals}, note={\styfmt{glossaries-extra} v1.34+}, seealso={ifglsused,glsxtrifwasfirstuse}, category={command} } -@index{GlsXtrLocationField, +@glscommand{GlsXtrLocationField, name={\csfmt{GlsXtrLocationField}}, user1={}, description={expands to the internal name of the field storing the location list, defaulting to \field{location}}, + topics={fieldrefcommands,loclistcommands}, note={\styfmt{glossaries-extra} v1.37+}, category={command} } -@index{glslabel, +@glscommand{glslabel, name={\csfmt{glslabel}}, user1={}, description={only for use in the post-link hooks, this expands to the label of the entry that was last referenced}, + topics={hooks}, note={\styfmt{glossaries}}, category={command} } -@index{glscurrententrylabel, +@glscommand{glscurrententrylabel, name={\csfmt{gls\-current\-entry\-label}}, user1={}, description={only for use in the glossary, such as in the style or in the post-name or post-description hooks, this expands to the label of the current entry}, + topics={hooks}, note={\styfmt{glossaries}}, category={command} } -@index{glscurrentfieldvalue, +@glscommand{glscurrentfieldvalue, name={\csfmt{gls\-current\-field\-value}}, user1={}, description={only for use in the \meta{true} part of \cs{ifglshasfield} or \cs{glsxtrifhasfield}, this expands to the field value}, + topics={conditionals}, note={\styfmt{glossaries}}, category={command} } -@index{glsentrytitlecase, +@glscommand{glsentrytitlecase, name={\csfmt{gls\-entry\-title\-case}}, user1={\margm{entry label}\margm{field label}}, description={fetches the given field and applies \ics{capitalisewords} to it}, - note={\styfmt{glossaries} v4.22+}, + topics={casecommands,fieldrefcommands}, + note={\styfmt{glossaries}\texparserdefnote\ v4.22+}, category={command} } -@index{capitalisewords, +@command{capitalisewords, name={\csfmt{capitalise\-words}}, user1={\margm{text}}, description={converts the first letter of each word to \idx{uppercase} using \ics{makefirstuc}}, - note={\styfmt{mfirstuc} v1.06+}, + note={\styfmt{mfirstuc}\texparserdefnote\ v1.06+}, category={command} } -@index{MFUnocap, +@command{MFUnocap, name={\csfmt{MFU\-no\-cap}}, user1={\margm{word}}, description={identifies \meta{word} as one that should not have its case-changed by \ics{capitalisewords} unless it occurs at the start}, - note={\styfmt{mfirstuc} v1.09+}, + note={\styfmt{mfirstuc}\texparserdefnote\ v1.09+}, category={command} } -@index{glsxtrusefield, +@glscommand{glsxtrusefield, name={\csfmt{gls\-xtr\-use\-field}}, user1={\margm{entry label}\margm{field label}}, description={expands to the value of the given field for the given entry}, - note={\styfmt{glossaries-extra} v1.12+}, + topics={fieldrefcommands}, + note={\styfmt{glossaries-extra}\texparserdefnote\ v1.12+}, category={command} } -@index{Glsxtrusefield, +@glscommand{Glsxtrusefield, name={\csfmt{Gls\-xtr\-use\-field}}, user1={\margm{entry label}\margm{field label}}, description={like \cs{glsxtrusefield} but converts the first letter to \idx!{uppercase}}, - note={\styfmt{glossaries-extra} v1.12+}, + topics={fieldrefcommands,casecommands}, + note={\styfmt{glossaries-extra}\texparserdefnote\ v1.12+}, category={command} } -@index{GLSxtrusefield, +@glscommand{GLSxtrusefield, name={\csfmt{GLS\-xtr\-use\-field}}, user1={\margm{entry label}\margm{field label}}, description={as \cs{glsxtrusefield} but converts the value to \idx{uppercase}}, - note={\styfmt{glossaries-extra} v1.37+}, + topics={fieldrefcommands,casecommands}, + note={\styfmt{glossaries-extra}\texparserdefnote\ v1.37+}, category={command} } -@index{GlsXtrSetField, +@glscommand{GlsXtrSetField, name={\csfmt{Gls\-Xtr\-Set\-Field}}, user1={\margm{entry label}\margm{field label}\margm{value}}, description={assigns the given \meta{value} to the field identified by \meta{field label} for the entry identified by \meta{entry label}}, + topics={assigncommands}, note={\styfmt{glossaries-extra} v1.12+}, category={command} } -@index{xGlsXtrSetField, +@glscommand{xGlsXtrSetField, name={\csfmt{xGls\-Xtr\-Set\-Field}}, user1={\margm{entry label}\margm{field label}\margm{value}}, description={globally assigns the (protected) full expansion of the given \meta{value} to the field identified by \meta{field label} for the entry identified by \meta{entry label}}, + topics={assigncommands}, note={\styfmt{glossaries-extra} v1.12+}, category={command} } -@index{glsxtrifhasfield, +@glscommand{glsxtrifhasfield, name={\csfmt{gls\-xtr\-if\-has\-field}}, user1={\margm{field label}\margm{entry label}\margm{true}\margm{false}}, description={tests if the given entry has the given \emph{internal} field set (defined and not empty) without testing if the entry exists and adds implicit scoping to \meta{true} and \meta{false}}, + topics={conditionals,fieldrefcommands}, note={\styfmt{glossaries-extra} v1.19+}, seealso={GlsXtrIfFieldUndef}, category={command} } -@index{glsxtrifhasfield*, +@glscommand{glsxtrifhasfield*, name={\csfmt{gls\-xtr\-if\-has\-field*}}, user1={\margm{field label}\margm{entry label}\margm{true}\margm{false}}, description={tests if the given entry has the given field set (defined and not empty) without testing if the entry exists and without introducing an implicit scope}, + topics={conditionals,fieldrefcommands}, note={\styfmt{glossaries-extra} v1.19+}, seealso={GlsXtrIfFieldUndef}, category={command} } -@index{GlsXtrIfFieldUndef, +@glscommand{GlsXtrIfFieldUndef, name={\csfmt{Gls\-Xtr\-If\-Field\-Undef}}, user1={\margm{field label}\margm{entry label}\margm{true}\margm{false}}, description={tests if the given field isn't defined for the given entry, which may also not exist}, + topics={conditionals,fieldrefcommands}, note={\styfmt{glossaries-extra} v1.23+}, category={command} } -@index{GlsXtrIfFieldEqStr, +@glscommand{GlsXtrIfFieldEqStr, name={\csfmt{Gls\-Xtr\-If\-Field\-Eq\-Str}}, user1={\margm{field label}\margm{entry label}\margm{text}\margm{true}\margm{false}}, description={tests if the given field value is the same as - \meta{text} for the given entry, which may not exist}, + \meta{text} for the given entry, which may not exist. The unstarred +form adds implicit grouping. The starred form (new to v1.39) +doesn't}, + topics={conditionals,fieldrefcommands}, note={\styfmt{glossaries-extra} v1.21+}, category={command} } -@index{GlsXtrIfFieldEqXpStr, +@glscommand{GlsXtrIfFieldEqXpStr, name={\csfmt{Gls\-Xtr\-If\-Field\-Eq\-Xp\-Str}}, user1={\margm{field label}\margm{entry label}\margm{text}\margm{true}\margm{false}}, description={like \cs{GlsXtrIfFieldEqStr} but first (protected) -fully expands \meta{text} (but not the field value)}, +fully expands \meta{text} (but not the field value). The unstarred +form adds implicit grouping. The starred form (new to v1.39) +doesn't}, + topics={conditionals,fieldrefcommands}, note={\styfmt{glossaries-extra} v1.31+}, category={command} } -@index{GlsXtrIfXpFieldEqXpStr, +@glscommand{GlsXtrIfXpFieldEqXpStr, name={\csfmt{Gls\-Xtr\-If\-Xp\-Field\-Eq\-Xp\-Str}}, user1={\margm{field label}\margm{entry label}\margm{text}\margm{true}\margm{false}}, description={like \cs{GlsXtrIfFieldEqStr} but first (protected) -fully expands both the field value and \meta{text}}, +fully expands both the field value and \meta{text}. The unstarred +form adds implicit grouping. The starred form (new to v1.39) +doesn't}, + topics={conditionals,fieldrefcommands}, note={\styfmt{glossaries-extra} v1.31+}, category={command} } -@index{ifglshasfield, +@glscommand{ifglshasfield, name={\csfmt{if\-gls\-has\-field}}, user1={\margm{field label}\margm{entry label}\margm{true}\margm{false}}, description={tests if the given entry, which must be defined, has the given field set to a non-empty value}, note={\styfmt{glossaries}}, + topics={conditionals,fieldrefcommands}, seealso={glsxtrifhasfield,GlsXtrIfFieldUndef}, category={command} } -@index{ifglshassymbol, +@glscommand{ifglshassymbol, name={\csfmt{if\-gls\-has\-symbol}}, user1={\margm{entry label}\margm{true}\margm{false}}, description={tests if the given entry, which must be defined, has the \field{symbol} field set to value that's not empty and not \csfmt{relax}}, + topics={conditionals,fieldrefcommands}, note={\styfmt{glossaries}}, seealso={ifglshasdesc,glsxtrifhasfield,GlsXtrIfFieldUndef}, category={command} } -@index{ifglshasdesc, +@glscommand{ifglshasdesc, name={\csfmt{if\-gls\-has\-desc}}, user1={\margm{entry label}\margm{true}\margm{false}}, description={tests if the given entry, which must be defined, has the \field{description} field set}, + topics={conditionals,fieldrefcommands}, note={\styfmt{glossaries}}, seealso={ifglshassymbol,ifglshasdescsuppressed}, category={command} } -@index{ifglshasdescsuppressed, +@glscommand{ifglshasdescsuppressed, name={\csfmt{if\-gls\-has\-suppressedesc}}, user1={\margm{entry label}\margm{true}\margm{false}}, description={tests if the given entry, which must be defined, has the \field{description} field set to \cs{nopostdesc}}, + topics={conditionals,fieldrefcommands}, note={\styfmt{glossaries}}, seealso={ifglshasdesc}, category={command} } -@index{ifglshasparent, +@glscommand{ifglshasparent, name={\csfmt{if\-gls\-has\-parent}}, user1={\margm{entry label}\margm{true}\margm{false}}, description={tests if the given entry, which must be defined, has the \field{parent} field set}, + topics={conditionals,fieldrefcommands}, note={\styfmt{glossaries}}, category={command} } -@index{ifglshaschildren, +@glscommand{ifglshaschildren, name={\csfmt{if\-gls\-has\-children}}, user1={\margm{entry label}\margm{true}\margm{false}}, description={tests if the given entry, which must be defined, has @@ -7904,55 +11368,203 @@ fully expands both the field value and \meta{text}}, field. With \bibgls, a more efficient approach is to use \csopt{save-child-count} and test the value of the \field{childcount} field}, + topics={conditionals,fieldrefcommands}, note={\styfmt{glossaries}}, category={command} } -@index{ifglshasshort, +@glscommand{ifglshasshort, name={\csfmt{if\-gls\-has\-short}}, user1={\margm{entry label}\margm{true}\margm{false}}, description={tests if the given entry, which must be defined, has the \field{short} field set}, + topics={conditionals,fieldrefcommands,abbreviationcommands}, note={\styfmt{glossaries}}, category={command} } -@index{ifglshaslong, +@glscommand{ifglshaslong, name={\csfmt{if\-gls\-has\-long}}, user1={\margm{entry label}\margm{true}\margm{false}}, description={tests if the given entry, which must be defined, has the \field{long} field set}, + topics={conditionals,fieldrefcommands,abbreviationcommands}, note={\styfmt{glossaries}}, category={command} } -@index{GlsXtrIfFieldNonZero, +@glscommand{ifglshasprefix, + name={\csfmt{if\-gls\-has\-prefix}}, + user1={\margm{entry label}\margm{true}\margm{false}}, + description={tests if the given entry, which must be defined, has the + \field{prefix} field set to value that's not empty}, + topics={conditionals,fieldrefcommands}, + note={\styfmt{glossaries-prefix}}, + seealso={ifglshasdesc,glsxtrifhasfield,GlsXtrIfFieldUndef}, + category={command} +} + +@glscommand{ifglshasprefixplural, + name={\csfmt{if\-gls\-has\-prefix\-plural}}, + user1={\margm{entry label}\margm{true}\margm{false}}, + description={tests if the given entry, which must be defined, has the + \field{prefixplural} field set to value that's not empty}, + topics={conditionals,fieldrefcommands}, + note={\styfmt{glossaries-prefix}}, + seealso={ifglshasdesc,glsxtrifhasfield,GlsXtrIfFieldUndef}, + category={command} +} + +@glscommand{ifglshasprefixfirst, + name={\csfmt{if\-gls\-has\-prefix\-first}}, + user1={\margm{entry label}\margm{true}\margm{false}}, + description={tests if the given entry, which must be defined, has the + \field{prefixfirst} field set to value that's not empty}, + topics={conditionals,fieldrefcommands}, + note={\styfmt{glossaries-prefix}}, + seealso={ifglshasdesc,glsxtrifhasfield,GlsXtrIfFieldUndef}, + category={command} +} + +@glscommand{ifglshasprefixfirstplural, + name={\csfmt{if\-gls\-has\-prefix\-first\-plural}}, + user1={\margm{entry label}\margm{true}\margm{false}}, + description={tests if the given entry, which must be defined, has the + \field{prefixfirstplural} field set to value that's not empty}, + topics={conditionals,fieldrefcommands}, + note={\styfmt{glossaries-prefix}}, + seealso={ifglshasdesc,glsxtrifhasfield,GlsXtrIfFieldUndef}, + category={command} +} + +@glscommand{ifglsfieldeq, + name={\csfmt{if\-gls\-field\-eq}}, + user1={\margm{entry label}\margm{field label}\margm{string}\margm{true}\margm{false}}, + description={tests if the given entry has the + given field value equal to \meta{string}, where \meta{field label} + is the internal field label (not the key name). No expansion is + performed in the test (which just uses \cs{ifcsstring})}, + topics={conditionals,fieldrefcommands}, + note={\styfmt{glossaries} v4.16+}, + category={command} +} + +@glscommand{ifglsfielddefeq, + name={\csfmt{if\-gls\-field\-def\-eq}}, + user1={\margm{entry label}\margm{field label}\margm{cs}\margm{true}\margm{false}}, + description={tests if the given entry has the + given field value equal to the replacement text of the command + given by \meta{cs}, where \meta{field label} + is the internal field label (not the key name). The test + uses \cs{ifdefstrequal}}, + topics={conditionals,fieldrefcommands}, + note={\styfmt{glossaries} v4.16+}, + category={command} +} + +@glscommand{ifglsfieldcseq, + name={\csfmt{if\-gls\-field\-cs\-eq}}, + user1={\margm{entry label}\margm{field label}\margm{cs-name}\margm{true}\margm{false}}, + description={tests if the given entry has the + given field value equal to the replacement text of the command + given by the control sequence name \meta{cs-name}, where \meta{field label} + is the internal field label (not the key name). The test + uses \cs{ifcsstrequal}}, + topics={conditionals,fieldrefcommands}, + note={\styfmt{glossaries} v4.16+}, + category={command} +} + +@glscommand{glsfielddef, + name={\csfmt{gls\-field\-def}}, + user1={\margm{entry label}\margm{field label}\margm{definition}}, + description={changes the value of the given + entry's field to \meta{definition} (localised by any scope)}, + topics={fieldrefcommands,assigncommands}, + note={\styfmt{glossaries} v4.16+}, + category={command} +} + +@glscommand{glsfieldgdef, + name={\csfmt{gls\-field\-gdef}}, + user1={\margm{entry label}\margm{field label}\margm{definition}}, + description={globally changes the value of the given + entry's field to \meta{definition}}, + topics={fieldrefcommands,assigncommands}, + note={\styfmt{glossaries} v4.16+}, + category={command} +} + +@glscommand{glsfieldedef, + name={\csfmt{gls\-field\-edef}}, + user1={\margm{entry label}\margm{field label}\margm{definition}}, + description={changes the value of the given entry's field to the + full expansion of \meta{definition} (localised by any scope)}, + topics={fieldrefcommands,assigncommands}, + note={\styfmt{glossaries} v4.16+}, + category={command} +} + +@glscommand{glsfieldxdef, + name={\csfmt{gls\-field\-xdef}}, + user1={\margm{entry label}\margm{field label}\margm{definition}}, + description={globally changes the value of the given entry's field to the + full expansion of \meta{definition}}, + topics={fieldrefcommands,assigncommands}, + note={\styfmt{glossaries} v4.16+}, + category={command} +} + +@glscommand{GlsXtrIfFieldNonZero, name={\csfmt{Gls\-Xtr\-If\-Field\-Non\-Zero}}, user1={\margm{field}\margm{entry label}\margm{true}\margm{false}}, description={tests if the given field value expands to a non-zero integer. If the field is undefined or empty, the value is assumed to be 0. If the field is set, it must expand to an integer value. The value can be referenced in \meta{true} or \meta{false} -with \cs{glscurrentfieldvalue}}, +with \cs{glscurrentfieldvalue}. The unstarred +form adds implicit grouping. The starred form (new to v1.39) +doesn't}, + topics={conditionals,fieldrefcommands}, note={\styfmt{glossaries-extra} v1.31+}, seealso={GlsXtrIfFieldEqNum}, category={command} } -@index{GlsXtrIfFieldEqNum, +@glscommand{GlsXtrIfFieldEqNum, name={\csfmt{Gls\-Xtr\-If\-Field\-Eq\-Num}}, user1={\margm{field}\margm{entry label}\margm{number}\margm{true}\margm{false}}, description={tests if the given field value expands to the given integer \meta{number}. If the field is undefined or empty, the value is assumed to be 0. If the field is set, it must expand to an integer value. The value can be referenced in \meta{true} or \meta{false} -with \cs{glscurrentfieldvalue}}, +with \cs{glscurrentfieldvalue}. The unstarred +form adds implicit grouping. The starred form (new to v1.39) +doesn't}, + topics={conditionals,fieldrefcommands}, + note={\styfmt{glossaries-extra} v1.31+}, + seealso={GlsXtrIfFieldNonZero,GlsXtrIfFieldCmpNum}, + category={command} +} + +@glscommand{GlsXtrIfFieldCmpNum, + name={\csfmt{Gls\-Xtr\-If\-Field\-Cmp\-Num}}, + user1={\margm{field}\margm{entry label}\margm{comparison}\margm{number}\margm{true}\margm{false}}, + description={compares the given (numerical) field value to the given +integer \meta{number}. The \meta{comparison} may be one of: +\code{=}, \code{<} or \code{>}. If the field is undefined or empty, the value is assumed to +be 0. If the field is set, it must expand to an integer value. +The value can be referenced in \meta{true} or \meta{false} +with \cs{glscurrentfieldvalue}. The unstarred +form adds implicit grouping. The starred form (new to v1.39) +doesn't}, + topics={conditionals,fieldrefcommands}, note={\styfmt{glossaries-extra} v1.31+}, seealso={GlsXtrIfFieldNonZero}, category={command} } -@dualindexentry{GlsXtrIfHasNonZeroChildCount, +@mainglscommand{GlsXtrIfHasNonZeroChildCount, name={\csfmt{Gls\-Xtr\-If\-Has\-Non\-Zero\-Child\-Count}}, user1={\margm{entry label}\margm{true}\margm{false}}, description={for use with the \csopt{save-child-count} resource @@ -7960,67 +11572,34 @@ option, this uses \cs{GlsXtrIfFieldNonZero} to test if the \field{childcount} field has a non-zero value. The value can be referenced in \meta{true} or \meta{false} with \cs{glscurrentfieldvalue}}, + topics={conditionals,fieldrefcommands}, note={\styfmt{glossaries-extra-bib2gls} v1.31+}, seealso={GlsXtrIfFieldNonZero}, category={command} } -@dualindexentry{glsxtrifcustomdiscardperiod, +@mainglscommand{glsxtrifcustomdiscardperiod, name={\csfmt{gls\-xtr\-if\-custom\-discard\-period}}, user1={\margm{true}\margm{false}}, description={should expand to \meta{true} if the post-link hook should check for a following full stop (in addition to attribute checks) otherwise should expand to \meta{false}}, + topics={conditionals,hooks}, note={\styfmt{glossaries-extra} v1.23+}, category={command} } -@index{glsxtrlongshortdescname, - name={\csfmt{gls\-xtr\-long\-short\-desc\-name}}, - user1={}, - description={governs the way the \field{name} field is set - by the \abbrstyle{long-short-desc} abbreviation styles}, - note={\styfmt{glossaries-extra} v1.17+}, - category={command} -} - -@index{glsxtrlongshortname, - name={\csfmt{gls\-xtr\-long\-short\-name}}, - user1={}, - description={governs the way the \field{name} field is set - by the \abbrstyle{long-short} abbreviation styles}, - note={\styfmt{glossaries-extra} v1.25+}, - category={command} -} - -@index{glsxtronlyname, - name={\csfmt{gls\-xtr\-only\-name}}, - user1={}, - description={governs the way the \field{name} field is set - by the \abbrstyle{long-only-short-only} abbreviation styles}, - note={\styfmt{glossaries-extra} v1.25+}, - category={command} -} - -@index{glsxtronlydescname, - name={\csfmt{gls\-xtr\-only\-desc\-name}}, - user1={}, - description={governs the way the \field{name} field is set - by the \abbrstyle{long-only-short-only} abbreviation styles}, - note={\styfmt{glossaries-extra} v1.17+}, - category={command} -} - -@index{glsaddkey, +@glscommand{glsaddkey, name={\csfmt{gls\-add\-key}}, user1={\margm{key}\margm{default value}\margm{no link cs}\margm{no link ucfirst cs}\margm{link cs}\margm{link ucfirst cs}\margm{link allcaps cs}}, description={adds a new key for use in \csref{newglossaryentry} and associated commands to access it}, + topics={definingterms,providingcommands,linkcommands,fieldrefcommands}, note={\styfmt{glossaries}}, category={command} } -@index{glsxtrprovidestoragekey, +@glscommand{glsxtrprovidestoragekey, name={\csfmt{gls\-xtr\-provide\-storage\-key}}, user1={\margm{key}\margm{default value}\margm{no link cs}}, description={adds a new key, if not already defined, for use in @@ -8028,448 +11607,593 @@ can be referenced in \meta{true} or \meta{false} with and an associated command to access it where (unlike \cs{glsaddstoragekey}) the \meta{no link cs} part may be empty if unrequired}, + topics={definingterms,providingcommands,fieldrefcommands}, note={\styfmt{glossaries-extra} v1.12+}, category={command} } -@index{glsaddstoragekey, +@glscommand{glsaddstoragekey, name={\csfmt{gls\-add\-storage\-key}}, user1={\margm{key}\margm{default value}\margm{no link cs}}, description={adds a new key for internal use that can be set in \csref{newglossaryentry}}, + topics={definingterms,providingcommands,fieldrefcommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{glsautoprefix, + name={\csfmt{gls\-auto\-prefix}}, + description={prefix used for the automatically labelling triggered + by the \styopt[autolabel]{numberedsection} option}, + topics={hooks,crossrefcommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{glsenablehyper, + name={\csfmt{gls\-enable\-hyper}}, + description={enables the creation of hyperlinks and targets for + the glossary commands that support them (automatically implemented + if \sty{hyperref} is loaded before \sty{glossaries})}, + topics={linkcommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{glsdisablehyper, + name={\csfmt{gls\-disable\-hyper}}, + description={disables the creation of hyperlinks and targets for + the glossary commands that support them (automatically implemented + if \sty{hyperref} isn't loaded before \sty{glossaries})}, + topics={linkcommands}, note={\styfmt{glossaries}}, category={command} } -@index{GlsXtrEnableInitialTagging, +@glscommand{GlsXtrEnableInitialTagging, name={\csfmt{Gls\-Xtr\-Enable\-Initial\-Tagging}}, user1={\margm{category list}\margm{cs}}, description={defines the control sequence \meta{cs} to be used with abbreviation tagging with the given categories}, - note={\styfmt{glossaries-extra}}, + topics={abbreviationcommands,formattingcommands}, + note={\styfmt{glossaries-extra}\texparserdefnote}, category={command} } -@index{glsxtrtagfont, +@glscommand{glsxtrtagfont, name={\csfmt{gls\-xtr\-tag\-font}}, user1={\margm{text}}, description={font used by tagging command defined by \cs{GlsXtrEnableInitialTagging}}, note={\styfmt{glossaries-extra}}, + topics={abbreviationcommands,formattingcommands}, category={command}, seealso={GlsXtrEnableInitialTagging} } -@index{glsnavhypertarget, +@glscommand{glsnavhypertarget, name={\csfmt{gls\-nav\-hyper\-target}}, user1={\oargm{type}\margm{label}\margm{text}}, description={creates a hyper target for the group given by - \meta{label} for the given glossary type and displays the text}, + \meta{label} for the given glossary type and uses \meta{text} + for the hyperlink text}, + topics={linkcommands,entryrefcommands}, note={\styfmt{glossary-hypernav}}, category={command} } -@index{newentry, +@glscommand{newentry, name={\csfmt{newentry}}, user1={\margm{label}\margm{\keyvallist}}, description={equivalent to \csref{newglossaryentry}}, - note={\styfmt{glossaries-extra}'s shortcuts}, + topics={definingterms,shortcutcommands}, + note={\styfmt{glossaries-extra} \styopt{shortcuts}}, category={command} } -@index{newsym, +@glscommand{newsym, name={\csfmt{newsym}}, user1={\margm{label}\margm{\keyvallist}\margm{symbol}}, description={equivalent to \csref{glsxtrnewsymbol}}, note={\styfmt{glossaries-extra} \styopt{shortcuts}}, + topics={definingterms,shortcutcommands}, category={command} } -@index{newnum, +@glscommand{newnum, name={\csfmt{newnum}}, user1={\margm{label}\margm{\keyvallist}}, description={equivalent to \csref{glsxtrnewnumber}}, + topics={definingterms,shortcutcommands}, note={\styfmt{glossaries-extra} \styopt{shortcuts}}, category={command} } -@index{acronymtype, +@glscommand{acronymtype, name={\csfmt{acronym\-type}}, user1={}, description={expands to the default acronym glossary type when using \csref{newacronym}}, + topics={glossrefs}, note={\styfmt{glossaries}}, category={command} } -@index{glsxtrabbrvtype, +@glscommand{glsxtrabbrvtype, name={\csfmt{gls\-xtr\-abbrv\-type}}, user1={}, description={expands to the default glossary type when using \csref{newabbreviation}}, + topics={glossrefs}, note={\styfmt{glossaries-extra}}, category={command} } -@index{nopostdesc, +@glscommand{nopostdesc, name={\csfmt{no\-post\-desc}}, user1={}, description={suppresses the post-description hook}, + topics={hooks}, note={\styfmt{glossaries}}, category={command} } -@index{glsxtrnopostpunc, +@glscommand{glsxtrnopostpunc, name={\csfmt{gls\-xtr\-no\-post\-punc}}, user1={}, description={suppresses the post-description punctuation without suppressing the post-description hook}, + topics={hooks}, note={\styfmt{glossaries-extra} v1.22+}, category={command} } -@index{glsxtrrestorepostpunc, +@glscommand{glsxtrrestorepostpunc, name={\csfmt{gls\-xtr\-restore\-post\-punc}}, user1={}, description={used within post-description category hooks, this restores the post-description punctuation if it's been suppressed with \cs{glsxtrnopostpunc}}, + topics={hooks}, note={\styfmt{glossaries-extra} v1.23+}, category={command} } -@index{loadglsentries, +@glscommand{loadglsentries, name={\csfmt{load\-gls\-entries}}, user1={\oargm{type}\margm{file}}, description={locally redefines \cs{glsdefaulttype} to \meta{type} and inputs \meta{file}}, + topics={definingterms}, note={\styfmt{glossaries}}, category={command} } -@index{newglossary, +@glscommand{newglossary, name={\csfmt{newglossary}}, user1={\oargm{log}\margm{type}\margm{gls}\margm{glo}\margm{title}}, description={defines a new glossary identified by \meta{type} with the given title and associated file extensions used by \appfmt{makeindex} or \appfmt{xindy}}, + topics={glossrefs}, note={\styfmt{glossaries}}, category={command} } -@index{newglossary*, +@glscommand{newglossary*, name={\csfmt{newglossary*}}, user1={\margm{type}\margm{title}}, description={defines a new glossary identified by \meta{type} with the given title}, + topics={glossrefs}, note={\styfmt{glossaries}}, category={command} } -@index{newignoredglossary, +@glscommand{newignoredglossary, name={\csfmt{new\-ignored\-glossary}}, user1={\margm{type}}, description={defines a new ignored glossary (with hyperlinks suppressed) identified by \meta{type} that's not included in the list used by commands, such as \cs{printunsrtglossaries}, that iterate over defined glossaries}, + topics={glossrefs}, note={\styfmt{glossaries} v4.08+}, category={command} } -@index{newignoredglossary*, +@glscommand{newignoredglossary*, name={\csfmt{new\-ignored\-glossary*}}, user1={\margm{type}}, description={defines a new ignored glossary (without suppressing hyperlinks) identified by \meta{type} that's not included in the list used by commands, such as \cs{printunsrtglossaries}, that iterate over defined glossaries}, + topics={glossrefs}, note={\styfmt{glossaries-extra} v1.11+}, category={command} } -@index{provideignoredglossary, +@glscommand{provideignoredglossary, name={\csfmt{provide\-ignored\-glossary}}, user1={\margm{type}}, description={as \cs{newignoredglossary} but does nothing if a glossary identified by \meta{type} already exists}, + topics={glossrefs}, note={\styfmt{glossaries-extra} v1.12+}, category={command} } -@index{provideignoredglossary*, +@glscommand{provideignoredglossary*, name={\csfmt{provide\-ignored\-glossary*}}, user1={\margm{type}}, description={as \ics{provideignoredglossary} but doesn't suppress hyperlinks}, + topics={glossrefs}, note={\styfmt{glossaries-extra} v1.12+}, category={command} } -@index{delimN, +@glscommand{delimN, name={\csfmt{delimN}}, user1={}, description={used to delimited individual locations}, + topics={glossarystylecommands,separatorcommands,loclistcommands}, note={\styfmt{glossaries}}, category={command} } -@index{delimR, +@glscommand{delimR, name={\csfmt{delimR}}, user1={}, description={used as a separator between the start and end locations of a range}, + topics={glossarystylecommands,separatorcommands,loclistcommands}, note={\styfmt{glossaries}}, category={command} } -@index{glsnoidxloclist, +@glscommand{glsnoidxloclist, name={\csfmt{gls\-noidx\-loc\-list}}, user1={\margm{location list cs}}, description={iterates over the given internal location list using the \cs{glsnoidxloclisthandler} handler}, + topics={glossarystylecommands,loops,loclistcommands}, note={\styfmt{glossaries}}, category={command} } -@index{glsnoidxloclisthandler, +@glscommand{glsnoidxloclisthandler, name={\csfmt{gls\-noidx\-loc\-list\-handler}}, description={the handler used by the internal list loop function used in \cs{glsnoidxloclist}}, + topics={glossarystylecommands,loops,loclistcommands}, user1={\margm{location}}, note={\styfmt{glossaries}}, category={command} } -@index{glossentry, +@glscommand{glossentry, name={\csfmt{glossentry}}, user1={\margm{label}\margm{location list}}, description={used in the glossary to display a top-level entry}, + topics={glossarystylecommands}, note={\styfmt{glossaries} v3.08a+}, category={command} } -@index{subglossentry, +@glscommand{subglossentry, name={\csfmt{subglossentry}}, user1={\margm{level}\margm{label}\margm{location list}}, description={used in the glossary to display a sub-entry}, + topics={glossarystylecommands}, note={\styfmt{glossaries} v3.08a+}, category={command} } -@index{newglossarystyle, +@glscommand{newglossarystyle, name={\csfmt{new\-glossary\-style}}, user1={\margm{name}\margm{definition}}, description={defines a new glossary style called \meta{name}}, + topics={glossarystylecommands}, note={\styfmt{glossaries}}, category={command} } -@index{setglossarystyle, +@glscommand{setglossarystyle, name={\csfmt{set\-glossary\-style}}, user1={\margm{name}}, description={sets the glossary style identified by \meta{name}}, + topics={glossarystylecommands}, note={\styfmt{glossaries}}, category={command} } -@index{glossaryheader, +@glscommand{glossaryheader, name={\csfmt{glossary\-header}}, description={implemented at the start of a glossary (modified by glossary styles)}, + topics={glossarystylecommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{glsgroupskip, + name={\csfmt{gls\-group\-skip}}, + description={inserted between groups to create some vertical + spacing (this command is modified by + glossary styles, and may be switched off with the + \styopt{nogroupskip} option)}, + topics={glossarystylecommands}, note={\styfmt{glossaries}}, category={command} } -@index{glsentryitem, +@glscommand{glsentryitem, name={\csfmt{gls\-entry\-item}}, user1={\margm{label}}, description={increments and displays the \counter{glossaryentry} counter, if appropriate}, + topics={glossarystylecommands}, note={\styfmt{glossaries} v3.0+}, category={command} } -@index{glssubentryitem, +@glscommand{glsentrycounterlabel, + name={\csfmt{gls\-entry\-counter\-label}}, + description={governs the way the \counter{glossaryentry} + counter is displayed by \cs{glsentryitem}}, + topics={glossarystylecommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{glssubentryitem, name={\csfmt{gls\-sub\-entry\-item}}, user1={\margm{label}}, description={increments and displays the \counter{glossarysubentry} counter, if appropriate}, + topics={glossarystylecommands}, note={\styfmt{glossaries} v3.0+}, category={command} } -@index{glstarget, +@glscommand{glssubentrycounterlabel, + name={\csfmt{gls\-sub\-entry\-counter\-label}}, + description={governs the way the \counter{glossarysubentry} + counter is displayed by \cs{glssubentryitem}}, + topics={glossarystylecommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{glstarget, name={\csfmt{gls\-target}}, user1={\margm{label}\margm{text}}, description={creates a hypertarget for the entry given by \meta{label} (the target for commands like \cs{gls}) and displays \meta{text}}, + topics={glossarystylecommands,linkcommands}, note={\styfmt{glossaries} v1.18+}, category={command} } -@index{glsnamefont, +@glscommand{glsnamefont, name={\csfmt{gls\-name\-font}}, user1={\margm{text}}, description={used by \cs{glossentryname} to format the name}, + topics={glossarystylecommands,formattingcommands}, note={\styfmt{glossaries}}, category={command} } -@index{glossentryname, +@glscommand{glossentryname, name={\csfmt{gloss\-entry\-name}}, user1={\margm{label}}, description={used by glossary styles to display the name}, + topics={glossarystylecommands,fieldrefcommands}, note={\styfmt{glossaries}}, category={command} } -@index{glossentrysymbol, +@glscommand{glossentrysymbol, name={\csfmt{gloss\-entry\-symbol}}, user1={\margm{label}}, description={used by glossary styles to display the symbol}, + topics={glossarystylecommands,fieldrefcommands}, note={\styfmt{glossaries}}, category={command} } -@index{glspostdescription, +@glscommand{glspostdescription, name={\csfmt{glspostdescription}}, description={a hook added after the description in some glossary styles (all if the \sty{glossaries-extra-stylemods} package is loaded to patch them). This hook is used to reflect the \styopt{nopostdot} package option for \sty{glossaries} and the \styopt{postpunc} option for \sty{glossaries-extra}}, + topics={glossarystylecommands,hooks}, note={\styfmt{glossaries} and modified by \styfmt{glossaries-extra}}, category={command} } -@index{glossentrynameother, +@glscommand{glossentrynameother, name={\csfmt{gloss\-entry\-name\-other}}, user1={\margm{label}\margm{field}}, description={acts like \ics{glossentryname} (obeys \catattr{glossname} and \catattr{glossnamefont} or \cs{glsnamefont} and the post-name hook) but uses the given \meta{field} instead of the \field{name} field}, + topics={glossarystylecommands,fieldrefcommands}, note={\styfmt{glossaries-extra} v1.22+}, category={command} } -@index{glossentrydesc, +@glscommand{glossentrydesc, name={\csfmt{gloss\-entry\-desc}}, user1={\margm{label}}, description={used by glossary styles to display the description}, + topics={glossarystylecommands,fieldrefcommands}, note={\styfmt{glossaries}}, category={command} } -@index{Glossentrydesc, +@glscommand{Glossentrydesc, name={\csfmt{Gloss\-entry\-desc}}, user1={\margm{label}}, description={like \cs{glossentrydesc} but converts the first -letter to uppercase}, +letter to \idx{uppercase}}, + topics={glossarystylecommands,fieldrefcommands,casecommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{Glossentryname, + name={\csfmt{Gloss\-entry\-name}}, + user1={\margm{label}}, + description={like \cs{glossentryname} but converts the first +letter to \idx{uppercase}}, + topics={glossarystylecommands,fieldrefcommands,casecommands}, note={\styfmt{glossaries}}, category={command} } -@index{glsaddall, +@glscommand{Glossentrysymbol, + name={\csfmt{Gloss\-entry\-symbol}}, + user1={\margm{label}}, + description={like \cs{glossentrysymbol} but converts the first +letter to \idx{uppercase}}, + topics={glossarystylecommands,fieldrefcommands,casecommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{glsaddall, name={\csfmt{glsaddall}}, user1={\oargm{options}}, description={iterates over all entries defined for all glossaries - (or for the sub-list provided in the options) and performs - \cs{glsadd} for each entry}, + (or for the sub-list provided by \optfmt{types=\margm{list}} in the options) + and performs \code{\cs{glsadd}\oargm{options}} for each entry. + This command isn't suitable for use with \bibgls. Use the + \csopt{selection} option instead}, + topics={loops,indexing}, note={\styfmt{glossaries}}, category={command} } -@index{glsaddallunused, +@glscommand{glsaddallunused, name={\csfmt{gls\-add\-all\-unused}}, user1={\oargm{list}}, description={iterates over all entries defined for all glossaries (or for the sub-list provided in the options) and performs \cs{glsadd} for each entry that hasn't been used with - the \glsaddopt{format} set to \code{glsignore}}, + the \glsaddopt{format} set to \code{glsignore}. + This command isn't suitable for use with \bibgls. Use the + \csopt{selection} option instead}, + topics={loops,indexing}, note={\styfmt{glossaries}}, category={command} } -@index{glsadd, +@glscommand{glsadd, name={\csfmt{glsadd}}, user1={\oargm{options}\margm{label}}, description={indexes the entry without displaying any text}, + topics={indexing}, note={\styfmt{glossaries}}, category={command} } -@index{glsaddeach, +@glscommand{glsaddeach, name={\csfmt{gls\-add\-each}}, user1={\oargm{options}\margm{label list}}, description={indexes each entry identified in the comma-separated list of labels without displaying any text}, + topics={indexing}, note={\styfmt{glossaries-extra} v1.31+}, category={command} } -@index{glsadd.thevalue, +@glsaddoption{glsadd.thevalue, name={\csoptfmt{thevalue}}, + user1={\margm{value}}, + description={overrides the record value so that it's the + given \meta{value} not obtained from the associated counter}, category={commandoption}, + note={\styfmt{glossaries-extra} v1.14+}, parent={glsadd} } -@index{glsadd.theHvalue, +@glsaddoption{glsadd.theHvalue, name={\csoptfmt{theHvalue}}, + user1={\margm{value}}, + description={the hyperlink target corresponding to the value + of \glsopt{thevalue}, if appropriate}, category={commandoption}, + note={\styfmt{glossaries-extra} v1.14+}, parent={glsadd} } -@index{glsadd.format, +@glsaddoption{glsadd.format, name={\csoptfmt{format}}, + user1={\margm{encap}}, + description={sets the \gls{encap} for the record to + \meta{encap}, optionally with the start or end range markers}, category={commandoption}, + note={\styfmt{glossaries}}, parent={glsadd} } -@index{glsadd.counter, +@glsaddoption{glsadd.counter, name={\csoptfmt{counter}}, + user1={\margm{counter-name}}, + description={sets the counter to use for the record}, category={commandoption}, + note={\styfmt{glossaries}}, parent={glsadd} } -@index{theglossaryentry, +@glscommand{theglossaryentry, name={\csfmt{theglossaryentry}}, description={textual representation of the \counter{glossaryentry} counter, which is defined with the \styopt{entrycounter} option}, + topics={glossarystylecommands}, note={\styfmt{glossaries}}, category={command} } -@index{theHglossaryentry, +@glscommand{theHglossaryentry, name={\csfmt{theHglossaryentry}}, description={hypertarget associated with the \counter{glossaryentry} counter, which is defined with the \styopt{entrycounter} option}, + topics={glossarystylecommands,linkcommands}, note={\styfmt{glossaries}}, category={command} } -@index{glsstepentry, +@glscommand{glsstepentry, name={\csfmt{gls\-step\-entry}}, user1 = {\margm{label}}, description={increments the \counter{glossaryentry} counter, which is defined with the \styopt{entrycounter} option, and automatically labels it with \cs{label}}, + topics={glossarystylecommands}, note={\styfmt{glossaries}}, category={command} } -@index{currentglossary, +@glscommand{currentglossary, name={\csfmt{currentglossary}}, description={defined within the glossary to the current glossary type, this has no meaning outside of the glossary list}, + topics={glossarystylecommands,glossrefs}, note={\styfmt{glossaries}}, category={command} } -@index{frontmatter, +@command{frontmatter, name={\csfmt{front\-matter}}, user1={}, description={switches to front matter}, @@ -8477,7 +12201,7 @@ type, this has no meaning outside of the glossary list}, category={command} } -@index{mainmatter, +@command{mainmatter, name={\csfmt{main\-matter}}, user1={}, description={switches to main matter}, @@ -8485,7 +12209,7 @@ type, this has no meaning outside of the glossary list}, category={command} } -@index{backmatter, +@command{backmatter, name={\csfmt{back\-matter}}, user1={}, description={switches to back matter}, @@ -8493,86 +12217,96 @@ type, this has no meaning outside of the glossary list}, category={command} } -@index{GlsXtrSetDefaultNumberFormat, +@glscommand{GlsXtrSetDefaultNumberFormat, name={\csfmt{Gls\-Xtr\-Set\-Default\-Number\-Format}}, user1={\margm{format}}, description={set the default format to use if the \glsaddopt{format} key isn't set}, + topics={formattingcommands,indexing}, note={\styfmt{glossaries-extra} v1.19+}, category={command} } -@index{GlsXtrSetDefaultGlsOpts, +@glscommand{GlsXtrSetDefaultGlsOpts, name={\csfmt{Gls\-Xtr\-Set\-Default\-Gls\-Opts}}, user1={\margm{options}}, description={set the default options for commands like \cs{gls}}, + topics={formattingcommands,indexing}, + seealso={GlsXtrSetDefaultNumberFormat}, note={\styfmt{glossaries-extra}}, category={command} } -@index{glsnumberformat, +@glscommand{glsnumberformat, name={\csfmt{gls\-number\-format}}, user1={\margm{text}}, description={default location format, uses \cs{glshypernumber} if hyperlinks enabled otherwise just does \meta{text}}, + topics={formattingcommands,indexing,loclistcommands}, note={\styfmt{glossaries}}, category={command} } -@index{glshypernumber, +@glscommand{glshypernumber, name={\csfmt{gls\-hyper\-number}}, user1={\margm{text}}, description={a location format that has a hyperlink (if enabled)}, + topics={formattingcommands,indexing,loclistcommands,linkcommands}, note={\styfmt{glossaries}}, category={command} } -@index{hypersf, +@glscommand{hypersf, name={\csfmt{hypersf}}, user1={\margm{text}}, description={a location format that uses the sans-serif font that also has a hyperlink (if enabled)}, + topics={formattingcommands,indexing,loclistcommands,linkcommands}, note={\styfmt{glossaries}}, category={command} } -@index{hyperit, +@glscommand{hyperit, name={\csfmt{hyperit}}, user1={\margm{text}}, description={a location format that uses the italic font that also has a hyperlink (if enabled)}, + topics={formattingcommands,indexing,loclistcommands,linkcommands}, note={\styfmt{glossaries}}, category={command} } -@index{hyperbf, +@glscommand{hyperbf, name={\csfmt{hyperbf}}, user1={\margm{text}}, description={a location format that uses the bold font that also has a hyperlink (if enabled)}, + topics={formattingcommands,indexing,loclistcommands,linkcommands}, note={\styfmt{glossaries}}, category={command} } -@index{hyperemph, +@glscommand{hyperemph, name={\csfmt{hyperemph}}, user1={\margm{text}}, description={a location format that uses \ics{emph} to set the font and also has a hyperlink (if enabled)}, + topics={formattingcommands,indexing,loclistcommands,linkcommands}, note={\styfmt{glossaries}}, category={command} } -@index{hyperrm, +@glscommand{hyperrm, name={\csfmt{hyperrm}}, user1={\margm{text}}, description={a location format that uses the serif (Roman) font that also has a hyperlink (if enabled)}, + topics={formattingcommands,indexing,loclistcommands,linkcommands}, note={\styfmt{glossaries}}, category={command} } -@index{emph, +@command{emph, name={\csfmt{emph}}, user1={\margm{text}}, description={emphasizes the given text (italic or slanted @@ -8582,14 +12316,14 @@ hyperlinks enabled otherwise just does \meta{text}}, category={command} } -@index{em, +@command{em, name={\csfmt{em}}, description={switch to emphasized font (until end of current scope)}, note={kernel command}, category={command} } -@index{textsf, +@command{textsf, name={\csfmt{textsf}}, user1={\margm{text}}, description={displays the given text in sans-serif}, @@ -8597,7 +12331,7 @@ hyperlinks enabled otherwise just does \meta{text}}, category={command} } -@index{textbf, +@command{textbf, name={\csfmt{textbf}}, user1={\margm{text}}, description={displays the given text in bold}, @@ -8605,14 +12339,14 @@ hyperlinks enabled otherwise just does \meta{text}}, category={command} } -@index{bfseries, +@command{bfseries, name={\csfmt{bfseries}}, description={switch to bold (until end of current scope)}, note={kernel command}, category={command} } -@index{textit, +@command{textit, name={\csfmt{textit}}, user1={\margm{text}}, description={displays the given text in italic}, @@ -8621,7 +12355,7 @@ hyperlinks enabled otherwise just does \meta{text}}, category={command} } -@index{texttt, +@command{texttt, name={\csfmt{texttt}}, user1={\margm{text}}, description={displays the given text in monospaced font}, @@ -8629,33 +12363,33 @@ hyperlinks enabled otherwise just does \meta{text}}, category={command} } -@index{@firstofone, +@command{@firstofone, name={\csfmt{@first\-of\-one}}, user1={\margm{code}}, description={does \meta{code}}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{@gobble, +@command{@gobble, name={\csfmt{@gobble}}, user1={\margm{code}}, description={does nothing (the argument is discarded)}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{@for, +@command{@for, name={\csfmt{@for}}, user1={\meta{cs}:=\meta{list}\csfmt{do}\margm{code}}, description={iterates over each item in the comma-separated \meta{list}, and on each iteration sets \meta{cs} to the current element and performs \meta{code}}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{alph, +@command{alph, name={\csfmt{alph}}, user1={\margm{counter}}, description={displays the given counter as an alphabetic character @@ -8664,7 +12398,7 @@ from \qt{a} to \qt{z}}, category={command} } -@index{footnote, +@command{footnote, name={\csfmt{footnote}}, user1={\oargm{number}\margm{text}}, description={displays the given text as a footnote}, @@ -8672,7 +12406,7 @@ from \qt{a} to \qt{z}}, category={command} } -@index{index, +@command{index, name={\csfmt{index}}, user1={\margm{text}}, description={indexes the given term by writing the relevant @@ -8682,36 +12416,39 @@ by \idx{makeindex} or \idx{xindy}}, category={command} } -@index{glsignore, +@glscommand{glsignore, name={\csfmt{gls\-ignore}}, user1={\margm{text}}, description={does nothing but when used as a location format \bibgls\ recognises it as an \idx{ignoredrecord}}, + topics={formattingcommands,indexing,loclistcommands}, note={\styfmt{glossaries}}, category={command} } -@index{@istfilename, +@glscommand{@istfilename, name={\csfmt{@istfilename}}, user1={\margm{filename}}, description={identifies the style file in the \ext{aux} file for the benefit of external tools like \idx{makeglossaries} and \idx{makeglossaries-lite}}, + topics={internalcommands,auxcommands}, note={\styfmt{glossaries}}, category={command} } -@index{glstriggerrecordformat, +@glscommand{glstriggerrecordformat, name={\csfmt{gls\-trigger\-record\-format}}, user1={\margm{text}}, description={does nothing but when used as a location format \bibgls\ recognises it as an \idx{ignoredrecord} indexed by commands like \csref{rgls}}, + topics={formattingcommands,indexing,loclistcommands}, note={\styfmt{glossaries-extra} v1.21+}, category={command} } -@index{at, +@command{at, name={\csfmt{@}}, user1={}, description={adjusts the space factor to indicate the following @@ -8720,26 +12457,42 @@ by \idx{makeindex} or \idx{xindy}}, category={command} } -@index{forall, +@command{forall, name={\csfmt{forall}}, user1={}, description={for all symbol ($\forall$)}, - note={kernel command}, + note={kernel command\texparserdefnote\ (maths mode)}, + category={command} +} + +@command{heartsuit, + name={\csfmt{heartsuit}}, + user1={}, + description={heart symbol ($\heartsuit$)}, + note={kernel command\texparserdefnote\ (maths mode)}, + category={command} +} + +@command{diamondsuit, + name={\csfmt{diamondsuit}}, + user1={}, + description={diamond symbol ($\diamondsuit$)}, + note={kernel command\texparserdefnote\ (maths mode)}, category={command} } -@index{ensuremath, +@command{ensuremath, name={\csfmt{ensuremath}}, user1={\margm{maths}}, description={ensures the argument is in math mode. As a general rule this should only be used if you know for certain that the argument just contains mathematical markup and doesn't cause a change in mode}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{mathord, +@command{mathord, name={\csfmt{mathord}}, user1={\margm{maths}}, description={assigns the character or sub-formula in the @@ -8748,7 +12501,7 @@ change in mode}, category={command} } -@index{mathop, +@command{mathop, name={\csfmt{mathop}}, user1={\margm{maths}}, description={assigns the character or sub-formula in the @@ -8757,7 +12510,7 @@ change in mode}, category={command} } -@index{mathpunct, +@command{mathpunct, name={\csfmt{mathpunct}}, user1={\margm{maths}}, description={assigns the character or sub-formula in the @@ -8766,7 +12519,7 @@ change in mode}, category={command} } -@index{mathrel, +@command{mathrel, name={\csfmt{mathrel}}, user1={\margm{maths}}, description={assigns the character or sub-formula in the @@ -8775,7 +12528,7 @@ change in mode}, category={command} } -@index{write18, +@command{write18, name={\csfmt{write18}}, user1={\margm{system call}}, description={perform shell escape if permitted}, @@ -8783,7 +12536,7 @@ change in mode}, category={command} } -@index{immediate, +@command{immediate, name={\csfmt{immediate}}, user1={\meta{file operation}}, description={perform the file operation immediately instead of the @@ -8792,7 +12545,7 @@ usual delay}, category={command} } -@index{AtEndDocument, +@command{AtEndDocument, name={\csfmt{AtEndDocument}}, user1={\margm{code}}, description={perform \meta{code} at the end of the document}, @@ -8800,40 +12553,40 @@ usual delay}, category={command} } -@index{unexpanded, +@command{unexpanded, name={\csfmt{unexpanded}}, user1={\margm{general text}}, description={expands to the argument}, - note={{}\eTeX\ primitive}, + note={{}\eTeX\ primitive\texparserdefnote}, category={command} } -@index{detokenize, +@command{detokenize, name={\csfmt{detokenize}}, user1={\margm{general text}}, description={expands the argument to a list of character tokens}, - note={{}\eTeX\ primitive}, + note={{}\eTeX\ primitive\texparserdefnote}, category={command} } -@index{input, +@command{input, name={\csfmt{input}}, user1={\margm{file}}, description={input the given file}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{IfFileExists, +@command{IfFileExists, name={\csfmt{IfFileExists}}, user1={\margm{file}\margm{true}\margm{false}}, description={if the given \meta{file} exists does \meta{true} otherwise does \meta{false}}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{jobname, +@command{jobname, name={\csfmt{jobname}}, user1={}, description={the current job name, which is usually the name of @@ -8842,63 +12595,63 @@ usual delay}, category={command} } -@index{protect, +@command{protect, name={\csfmt{protect}}, user1={\meta{token}}, description={protects \meta{token} from expansion}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{ifcase, +@command{ifcase, name={\csfmt{ifcase}}, user1={\meta{number}}, description={case conditional}, - note={\TeX\ primitive}, + note={\TeX\ primitive\texparserdefnote}, category={command} } -@index{ifnum, +@command{ifnum, name={\csfmt{ifnum}}, user1={\meta{number1}\meta{comparison}\meta{number2}}, description={integer conditional}, - note={\TeX\ primitive}, + note={\TeX\ primitive\texparserdefnote}, category={command} } -@index{renewcommand, +@command{renewcommand, name={\csfmt{re\-new\-com\-mand}}, user1={\margm{cs}\oargm{n}\oargm{def}\margm{code}}, description={redefines an existing command}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{newcommand, +@command{newcommand, name={\csfmt{new\-com\-mand}}, user1={\margm{cs}\oargm{n}\oargm{def}\margm{code}}, description={defines a new command}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{providecommand, +@command{providecommand, name={\csfmt{pro\-vide\-com\-mand}}, user1={\margm{cs}\oargm{n}\oargm{def}\margm{code}}, description={defines a command if it's not already defined}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{section, +@command{section, name={\csfmt{section}}, - user1={\oargm{toc title}\margm{title}}, + user1={\oargm{\idx{toc} title}\margm{title}}, description={section heading}, note={most classes that have a concept of document sections}, category={command} } -@index{section*, +@command{section*, name={\csfmt{section*}}, user1={\margm{title}}, description={unnumbered section heading}, @@ -8906,15 +12659,15 @@ usual delay}, category={command} } -@index{chapter, +@command{chapter, name={\csfmt{chapter}}, - user1={\oargm{toc title}\margm{title}}, + user1={\oargm{\idx{toc} title}\margm{title}}, description={chapter heading}, note={book or report classes}, category={command} } -@index{chapter*, +@command{chapter*, name={\csfmt{chapter*}}, user1={\margm{title}}, description={unnumbered chapter heading}, @@ -8922,7 +12675,7 @@ usual delay}, category={command} } -@index{caption, +@command{caption, name={\csfmt{caption}}, user1={\oargm{list title}\margm{title}}, description={caption title}, @@ -8930,7 +12683,7 @@ usual delay}, category={command} } -@index{boldsymbol, +@command{boldsymbol, name={\csfmt{boldsymbol}}, user1={\margm{symbol}}, description={renders given maths symbol in bold if supported by @@ -8939,7 +12692,7 @@ usual delay}, category={command} } -@index{mathcal, +@command{mathcal, name={\csfmt{mathcal}}, user1={\margm{character}}, description={renders the given (\idx!{uppercase}) maths character in a calligraphic font}, @@ -8947,1083 +12700,1516 @@ usual delay}, category={command} } -@index{ifglsentryexists, +@glscommand{ifglsentryexists, name={\csfmt{ifglsentryexists}}, user1={\margm{label}\margm{true}\margm{false}}, description={tests if the entry given by \meta{label} exists}, + topics={conditionals,entryrefcommands}, note={\styfmt{glossaries}}, category={command} } -@index{glsdefaulttype, +@glscommand{glsdefaulttype, name={\csfmt{gls\-default\-type}}, user1={}, description={the default glossary type}, + topics={glossrefs}, note={\styfmt{glossaries}}, category={command} } -@index{glssymbolsgroupname, +@glscommand{glssymbolsgroupname, name={\csfmt{gls\-symbols\-group\-name}}, user1={}, - description={the name used for the symbols group}, + description={language-sensitive name used for the symbols group and + also used for the title of the glossary created with the \styopt{symbols} + package option}, + topics={fixedtextcommands,glossarystylecommands}, note={\styfmt{glossaries}}, category={command} } -@index{glsnumbersgroupname, +@glscommand{glsnumbersgroupname, name={\csfmt{gls\-numbers\-group\-name}}, user1={}, - description={the name used for the numbers group}, + description={language-sensitive name used for the numbers group + and also used for the title of the glossary created with the + \styopt{numbers} package option}, + topics={fixedtextcommands,glossarystylecommands}, note={\styfmt{glossaries}}, category={command} } -@index{printunsrtglossary, +@glscommand{printunsrtglossary, name={\csfmt{print\-unsrt\-glos\-sary}}, user1={\oargm{options}}, - description={display the glossary by iterating over all entries + description={display a glossary by iterating over all entries associated with that glossary in the order in which they were - defined}, + defined (which, with \bibgls, should correspond to the + order obtained from the sort settings given in the + \idx{resourceset} options)}, + topics={glossrefs,loops}, note={\styfmt{glossaries-extra} v1.08+}, category={command} } -@index{printunsrtglossary*, +@glscommand{printunsrtglossary*, name={\csfmt{print\-unsrt\-glos\-sary*}}, user1={\oargm{options}\margm{code}}, description={as \cs{printunsrtglossary} but performs \meta{code} first (scoped to localise any assignments within \meta{code})}, + topics={glossrefs,loops}, note={\styfmt{glossaries-extra} v1.12+}, category={command} } -@index{printunsrtglossaries, +@glscommand{printunsrtglossaries, name={\csfmt{print\-unsrt\-glos\-saries}}, user1={}, description={iterates over all non-ignored defined glossaries and performs \cs{printunsrtglossary} for each one}, + topics={glossrefs,loops}, note={\styfmt{glossaries-extra} v1.08+}, category={command} } -@index{printunsrtglossaryentryprocesshook, +@glscommand{printunsrtglossaryentryprocesshook, name={\csfmt{print\-unsrt\-glos\-sary\-entry\-process\-hook}}, user1={\margm{label}}, description={performed at each iteration of the internal loop used by \cs{printunsrtglossary}}, + topics={glossrefs,loops,hooks}, note={\styfmt{glossaries-extra} v1.21+}, category={command} } -@index{printunsrtglossaryskipentry, +@glscommand{printunsrtglossaryskipentry, name={\csfmt{print\-unsrt\-glos\-sary\-skip\-entry}}, description={only allowed within \cs{printunsrtglossaryentryprocesshook} this command indicates that the current entry should be skipped}, + topics={glossrefs,loops,hooks}, note={\styfmt{glossaries-extra} v1.21+}, category={command} } -@index{printunsrtglossarypredoglossary, +@glscommand{printunsrtglossarypredoglossary, name={\csfmt{print\-unsrt\-glos\-sary\-pre\-do\-glos\-sary}}, description={hook performed by \cs{printunsrtglossary}}, + topics={glossrefs,hooks}, note={\styfmt{glossaries-extra} v1.21+}, category={command} } -@index{glscategory, +@glscommand{glscategory, name={\csfmt{gls\-cat\-e\-gory}}, user1={\margm{label}}, description={expands to the value of the \field{category} field for the entry identified by \meta{label} or nothing if the entry hasn't been defined}, + topics={fieldrefcommands,catattrcommands}, note={\styfmt{glossaries-extra}}, category={command} } -@index{glsifcategory, +@glscommand{glsifcategory, name={\csfmt{gls\-if\-cat\-e\-gory}}, user1={\margm{label}\margm{category}\margm{true}\margm{false}}, description={does \meta{true} if the \field{category} field for the entry given by \meta{label} is \meta{category}}, + topics={conditionals,fieldrefcommands,catattrcommands}, note={\styfmt{glossaries-extra}}, category={command} } -@index{glsxtriflabelinlist, +@glscommand{glsxtriflabelinlist, name={\csfmt{gls\-xtr\-if\-label\-in\-list}}, user1={\margm{label}\margm{list}\margm{true}\margm{false}}, description={tests if the \meta{label} is contained in the comma-separated \meta{list}, where both \meta{label} and \meta{list} are fully expanded before testing. This test - is designed for \emph{labels} which should be fully expandable}, + is designed for \emph{labels} that are fully expandable}, + topics={conditionals,listcommands}, note={\styfmt{glossaries-extra} v1.21+}, category={command} } -@index{printgloss.type, +@printglossoption{printgloss.type, parent = {printunsrtglossary}, name = {\csoptfmt{type}}, + user1 = {\margm{glossary-label}}, + description={identifies the glossary list (\cs{glsdefaulttype}, if + omitted)}, + category={commandoption}, +} + +@printglossoption{printgloss.style, + parent = {printunsrtglossary}, + name = {\csoptfmt{style}}, + user1 = {\margm{style-name}}, + description={use the glossary style identified by \meta{style-name} + (overrides current style setting)}, + category={commandoption}, +} + +@printglossoption{printgloss.entrycounter, + parent = {printunsrtglossary}, + name = {\csoptfmt{entrycounter}}, + user1 = {\margm{boolean}}, + description = {locally enable or disable top-level enumeration + (overrides \styopt{entrycounter} package option)}, + category={commandoption}, +} + +@printglossoption{printgloss.subentrycounter, + parent = {printunsrtglossary}, + name = {\csoptfmt{subentrycounter}}, + user1 = {\margm{boolean}}, + description = {locally enable or disable level~1 enumeration + (overrides \styopt{subentrycounter} package option)}, + category={commandoption}, +} + +@printglossoption{printgloss.nopostdot, + parent = {printunsrtglossary}, + name = {\csoptfmt{nopostdot}}, + user1 = {\margm{boolean}}, + description = {locally omit the post-description punctuation (overrides + \styopt{nopostdot} and related package options)}, category={commandoption}, } -@index{printgloss.style, +@printglossoption{printgloss.numberedsection, parent = {printunsrtglossary}, - name = {\csoptfmt{style}}, + name = {\csoptfmt{numbered\-section}}, + user1={\margm{value}}, + description={locally change whether or not to use a numbered + sectioning command (overrides \styopt{numberedsection} package + option)}, category={commandoption}, } -@index{printgloss.title, +@printglossoption{printgloss.title, parent = {printunsrtglossary}, name = {\csoptfmt{title}}, + user1={\margm{text}}, + description = {locally sets the title for this glossary}, category={commandoption}, } -@index{printgloss.toctitle, +@printglossoption{printgloss.toctitle, parent = {printunsrtglossary}, name = {\csoptfmt{toctitle}}, + description = {locally sets the \idx{toc} title for this glossary}, + user1={\margm{text}}, category={commandoption}, } -@index{printgloss.target, +@printglossoption{printgloss.target, parent = {printunsrtglossary}, name = {\csoptfmt{target}}, + user1={\margm{boolean}}, + description = {locally enables or disables the hypertargets for + each item}, category={commandoption}, } -@index{printgloss.targetnameprefix, +@printglossoption{printgloss.targetnameprefix, parent = {printunsrtglossary}, name = {\csoptfmt{target\-name\-prefix}}, + user1={\margm{label}}, + description = {locally assign a prefix for the hypertargets + assigned to each item (if \printglossopt[true]{target}) + to avoid duplicate target names}, category={commandoption}, } -@index{printgloss.prefix, +@printglossoption{printgloss.prefix, parent = {printunsrtglossary}, name = {\csoptfmt{prefix}}, + user1 = {\margm{label}}, + description = {locally redefine \cs{glolinkprefix} for the item + hypertargets and for any entry reference or cross-reference hyperlinks}, category={commandoption}, } -@index{printgloss.nonumberlist, +@printglossoption{printgloss.nonumberlist, parent = {printunsrtglossary}, name = {\csoptfmt{no\-number\-list}}, + user1 = {\margm{boolean}}, + description={locally change whether or not to display the + \idxpl{locationlist} (overrides \styopt{nonumberlist} package + option)}, category={commandoption}, } -@index{printgloss.nogroupskip, +@printglossoption{printgloss.nogroupskip, parent = {printunsrtglossary}, name = {\csoptfmt{no\-group\-skip}}, + user1 = {\margm{boolean}}, + description={locally change whether or not to separate groups + with a vertical space if the glossary style that support this option + (overrides \styopt{nogroupskip} package option)}, + category={commandoption}, +} + +@printglossoption{printgloss.label, + parent = {printunsrtglossary}, + name = {\csoptfmt{label}}, + user1 = {\margm{label}}, + description = {creates a label for this glossary by locally + using \code{\ics{glsxtrsetglossarylabel}\margm{label}}}, category={commandoption}, } -@index{cs.makeglossaries, +@glscommand{glsxtrsetglossarylabel, + name={\csfmt{gls\-xtr\-set\-glos\-sary\-label}}, + user1={\margm{label}}, + description={sets the label for subsequent glossaries + (should be scoped or updated per glossary to prevent + duplicate labels) and defines \ics{@currentlabelname} to the + glossary's \idx{toc} title. This is an alternative to the + \styopt[nameref]{numberedsection} package option or + \printglossopt{label} \ics{printunsrtglossary} option}, + topics={crossrefcommands}, + note={\styfmt{glossaries-extra} v1.39+}, + category={command} +} + +@glscommand{cs.makeglossaries, name={\csfmt{make\-glos\-saries}}, user1={}, description={opens associated glossary files to be processed by \idx{makeindex} or \idx{xindy}}, + topics={indexing}, note={\styfmt{glossaries}}, category={command} } -@index{makenoidxglossaries, +@glscommand{makenoidxglossaries, name={\csfmt{make\-noidx\-glos\-saries}}, user1={}, description={indicates that \TeX\ should be used to sort and collate the glossary information instead of using an external application; this command should not be used with \bibgls}, + topics={indexing}, note={\styfmt{glossaries} v4.04+}, category={command} } -@index{printglossary, +@glscommand{printglossary, name={\csfmt{print\-glos\-sary}}, user1={\oargm{options}}, description={inputs file created by \idx{makeindex} or \idx{xindy}}, + topics={glossrefs}, note={\styfmt{glossaries}}, category={command} } -@index{printglossaries, +@glscommand{printglossaries, name={\csfmt{print\-glos\-saries}}, user1={}, description={iterates over all non-ignored defined glossaries and performs \cs{printglossary} for each one}, + topics={glossrefs,loops}, note={\styfmt{glossaries}}, category={command} } -@index{printnoidxglossary, +@glscommand{printnoidxglossary, name={\csfmt{print\-noidx\-glos\-sary}}, user1={\oargm{options}}, description={uses \TeX\ to sort, collate and list the glossary}, + topics={glossrefs}, note={\styfmt{glossaries} v4.04+}, category={command} } -@index{printnoidxglossaries, +@glscommand{printnoidxglossaries, name={\csfmt{print\-noidx\-glos\-saries}}, user1={}, description={iterates over all non-ignored defined glossaries and performs \cs{printnoidxglossary} for each one}, + topics={glossrefs,loops}, note={\styfmt{glossaries} v4.04+}, category={command} } -@index{makefirstuc, +@command{makefirstuc, name={\csfmt{make\-first\-uc}}, user1={\margm{text}}, - description={converts the first letter of \meta{text} to upper case}, - note={\styfmt{mfirstuc}}, + description={converts the first letter of \meta{text} to \idx{uppercase}}, + note={\styfmt{mfirstuc}\texparserdefnote}, category={command} } -@index{xmakefirstuc, +@command{xmakefirstuc, name={\csfmt{xmake\-first\-uc}}, user1={\margm{text}}, description={applies \cs{makefirstuc} with one level expansion of the first token of \meta{text}}, - note={\styfmt{mfirstuc} v1.01+}, + note={\styfmt{mfirstuc}\texparserdefnote\ v1.01+}, category={command} } -@index{ac, +@glscommand{ac, name={\csfmt{ac}}, user1={\oargm{options}\margm{label}\oargm{insert}}, description={equivalent to \cs{gls}}, - note={\styfmt{glossaries-extra} \styopt{shortcuts} package -option}, + topics={entryrefcommands,linkcommands,indexing,abbreviationcommands,shortcutcommands}, + note={\styfmt{glossaries-extra} \styopt{shortcuts}}, category={command} } -@index{ab, +@glscommand{ab, name={\csfmt{ab}}, user1={\oargm{options}\margm{label}\oargm{insert}}, description={equivalent to \cs{gls}}, + topics={entryrefcommands,linkcommands,indexing,abbreviationcommands,shortcutcommands}, note={\styfmt{glossaries-extra} \styopt[abbreviations]{shortcuts}}, category={command} } -@index{glsxtrp, +@glscommand{glsxtrp, name={\csfmt{glsxtrp}}, user1={\margm{field}\margm{label}}, - description={displays the given field for the entry given by label}, + description={displays the given \meta{field} value for the entry given by + \meta{label} (no hyperlinks, except in the glossary, and no indexing + by default, but includes formatting, if appropriate)}, + topics={fieldrefcommands}, note={\styfmt{glossaries-extra} v1.07+}, category={command} } -@index{glsps, +@glscommand{glsps, name={\csfmt{glsps}}, user1={\margm{label}}, description={shortcut for \code{\cs{glsxtrp}\marg{short}\margm{label}}}, + topics={fieldrefcommands,shortcutcommands}, note={\styfmt{glossaries-extra} v1.07+}, category={command} } -@index{glspt, +@glscommand{glspt, name={\csfmt{glspt}}, user1={\margm{label}}, description={shortcut for \code{\cs{glsxtrp}\marg{text}\margm{label}}}, + topics={fieldrefcommands,shortcutcommands}, note={\styfmt{glossaries-extra} v1.07+}, category={command} } -@index{GlsXtrFmtField, +@glscommand{glsxtrsetpopts, + name={\csfmt{glsxtrsetpopts}}, + user1={\margm{options}}, + description={sets the default options for \cs{glsxtrp}}, + topics={assigncommands}, + note={\styfmt{glossaries-extra} v1.07+}, + category={command} +} + +@glscommand{glossxtrsetpopts, + name={\csfmt{glossxtrsetpopts}}, + description={glossary hook that uses \cs{glsxtrsetpopts} + to enable hyperlinks by default for \cs{glsxtrp}}, + topics={assigncommands,hooks}, + note={\styfmt{glossaries-extra} v1.07+}, + category={command} +} + +@glscommand{GlsXtrFmtField, name={\csfmt{Gls\-Xtr\-Fmt\-Field}}, user1={}, description={expands to the internal label of the field used to store the control sequence name for use with \csref{glsxtrfmt}}, + topics={fieldrefcommands,formattingcommands}, note={\styfmt{glossaries-extra} v1.12+}, category={command} } -@index{glsxtrusesee, +@glscommand{glsxtrusesee, name={\csfmt{gls\-xtr\-use\-see}}, user1={\margm{label}}, description={applies \cs{glsseeformat} to the entry's \field{see} field if not empty}, + topics={glossarystylecommands,crossrefcommands,loclistcommands,fieldrefcommands}, note={\styfmt{glossaries-extra} v1.06+}, category={command} } -@index{glsxtruseseealso, +@glscommand{glsxtruseseealso, name={\csfmt{gls\-xtr\-use\-seealso}}, user1={\margm{label}}, description={applies \cs{glsseeformat} to the entry's \field{seealso} field if not empty}, + topics={glossarystylecommands,crossrefcommands,loclistcommands,fieldrefcommands}, note={\styfmt{glossaries-extra} v1.16+}, category={command} } -@index{glsxtrsetaliasnoindex, +@glscommand{glsxtrsetaliasnoindex, name={\csfmt{gls\-xtr\-set\-alias\-noindex}}, user1={}, description={hooks into the alias \glsopt{noindex} setting}, + topics={hooks,crossrefcommands}, note={\styfmt{glossaries-extra} v1.12+}, category={command} } -@index{glsxtruseseealsoformat, +@glscommand{glsxtruseseealsoformat, name={\csfmt{gls\-xtr\-use\-seealso\-format}}, user1={\margm{xr list}}, description={used to format the entries whose labels are given in \meta{xr list} as a list of \qt{see also} cross-references}, + topics={glossarystylecommands,crossrefcommands,loclistcommands,formattingcommands}, note={\styfmt{glossaries-extra} v1.16+}, category={command} } -@index{glsxtrindexseealso, +@glscommand{glsxtrindexseealso, name={\csfmt{gls\-xtr\-index\-seealso}}, user1={\margm{label}\margm{xr list}}, description={indexes a \qt{see also} cross-reference}, + topics={indexing,crossrefcommands}, note={\styfmt{glossaries-extra} v1.16+}, category={command} } -@index{glssee, +@glscommand{glssee, name={\csfmt{glssee}}, user1={\oargm{tag}\margm{label}\margm{xr label list}}, description={indexes a \qt{see} cross-reference}, + topics={indexing,crossrefcommands}, note={\styfmt{glossaries}}, category={command} } -@index{glsxtrseelist, +@glscommand{glsxtrseelist, name={\csfmt{gls\-xtr\-see\-list}}, user1={\margm{xr label list}}, description={formats the list of cross-reference labels, without the initial \qt{see} tag}, + topics={glossarystylecommands,crossrefcommands,loclistcommands,formattingcommands}, note={\styfmt{glossaries-extra} v1.16+}, category={command} } -@index{setabbreviationstyle, +@glscommand{setabbreviationstyle, name={\csfmt{setabbreviationstyle}}, user1={\oargm{category}\margm{style-name}}, description={sets the abbreviation style to \meta{style-name} for the given \meta{category}, must be used before the abbreviation is defined}, + topics={abbreviationcommands,assigncommands}, note={\styfmt{glossaries-extra}}, category={command} } -@index{glshex, +@glscommand{glshex, name={\csfmt{glshex}}, user1={}, description={expands to \cs{cs.string}\cs{u}}, + topics={charcommands,collationsubrules}, note={\styfmt{glossaries-extra} v1.21+ (moved to \styfmt{glossaries-extra-bib2gls} in v1.27)}, category={command} } -@index{glscapturedgroup, +@glscommand{glscapturedgroup, name={\csfmt{glscapturedgroup}}, - user1={}, description={expands to \cs{cs.string}\idx{dollarchar}}, + topics={charcommands,regex}, note={\styfmt{glossaries-extra-bib2gls} v1.31+}, category={command} } -@index{GlsXtrBibTeXEntryAliases, +@glscommand{GlsXtrBibTeXEntryAliases, name={\csfmt{Gls\-Xtr\-Bib\-TeX\-Entry\-Aliases}}, user1={}, description={expands to the set of common entry aliases for \atentry{bibtexentry}}, + topics={definingterms}, note={\styfmt{glossaries-extra-bib2gls} v1.29+}, category={command} } -@index{GlsXtrProvideBibTeXFields, +@glscommand{GlsXtrProvideBibTeXFields, name={\csfmt{Gls\-Xtr\-Provide\-Bib\-TeX\-Fields}}, user1={}, description={defines the standard \BibTeX\ fields using \cs{glsaddstoragekey}}, + topics={definingterms,fieldrefcommands}, note={\styfmt{glossaries-extra-bib2gls} v1.29+}, category={command} } -@index{glsxtrprovidecommand, +@glscommand{glsxtrprovidecommand, name={\csfmt{gls\-xtr\-provide\-command}}, user1={\margm{cs}\oargm{n}\oargm{def}\margm{code}}, description={behaves like \cs{providecommand} in the document but like \cs{renewcommand} in \bibgls}, - note={\styfmt{glossaries-extra-bib2gls} v1.27+}, + topics={providingcommands}, + note={\styfmt{glossaries-extra-bib2gls}\texparserdefnote\ v1.27+}, category={command} } -@index{glsrenewcommand, +@glscommand{glsrenewcommand, name={\csfmt{gls\-re\-new\-command}}, user1={\margm{cs}\oargm{n}\oargm{def}\margm{code}}, description={behaves like \cs{renewcommand} but only generates a warning rather than an error if the command isn't already defined}, - note={\styfmt{glossaries-extra-bib2gls} v1.37+}, + topics={providingcommands}, + note={\styfmt{glossaries-extra-bib2gls}\texparserdefnote\ v1.37+}, category={command} } -@index{glsxtrresourceinit, +@glscommand{glsxtrresourceinit, name={\csfmt{gls\-xtr\-resource\-init}}, user1={}, description={provides code that locally redefines commands during the protected write operation performed by \csref{glsxtrresourcefile}}, + topics={hooks}, note={\styfmt{glossaries-extra} v1.21+}, category={command} } -@index{glsxtrgroupfield, +@mainglscommand{GlsXtrDefaultResourceOptions, + name={\csfmt{Gls\-Xtr\-Default\-Resource\-Options}}, + user1={}, + description={provides default options for + \csref{glsxtrresourcefile}}, + topics={hooks}, + note={\styfmt{glossaries-extra} v1.40+}, + category={command} +} + +@glscommand{glsxtrgroupfield, name={\csfmt{gls\-xtr\-group\-field}}, user1={}, description={expands to the field label used to store the entry group labels}, + topics={fieldrefcommands,groupcommands}, note={\styfmt{glossaries-extra} v1.21+}, category={command} } -@index{glolinkprefix, +@glscommand{glolinkprefix, name={\csfmt{glo\-link\-prefix}}, user1={}, description={target name prefix used in entry hyperlinks}, + topics={linkcommands,hooks}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{setglossarypreamble, + name={\csfmt{set\-glossary\-preamble}}, + user1={\oargm{type}\margm{code}}, + description={sets \meta{code} as the preamble for the given +glossary (or the default of \meta{type} is omitted)}, + topics={glossrefs,hooks,glossarystylecommands}, note={\styfmt{glossaries}}, + seealso={glossarypreamble}, category={command} } -@index{apptoglossarypreamble, +@glscommand{apptoglossarypreamble, name={\csfmt{app\-to\-glossary\-preamble}}, user1={\oargm{type}\margm{code}}, description={appends \meta{code} to the preamble for the given -glossary}, +glossary (or the default of \meta{type} is omitted)}, + topics={glossrefs,hooks,glossarystylecommands}, note={\styfmt{glossaries-extra}}, + seealso={glossarypreamble}, category={command} } -@index{glossarypreamble, +@glscommand{glossarypreamble, name={\csfmt{glossary\-preamble}}, description={the preamble for all glossaries except those that have the preamble explicitly set with \cs{apptoglossarypreamble}}, - note={\styfmt{glossaries-extra}}, + topics={glossrefs,hooks,glossarystylecommands}, + note={\styfmt{glossaries}}, seealso={apptoglossarypreamble}, category={command} } -@index{glsbackslash, +@glscommand{glossarypostamble, + name={\csfmt{glossary\-post\-amble}}, + description={the postamble that's placed after each glossary}, + topics={glossrefs,hooks,glossarystylecommands}, + note={\styfmt{glossaries}}, + seealso={apptoglossarypreamble}, + category={command} +} + +@glscommand{glsbackslash, name={\csfmt{glsbackslash}}, user1={}, description={expands to a literal backslash \idx{backslashchar} character}, - note={\styfmt{glossaries}}, + topics={charcommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} +} + +@glscommand{glsopenbrace, + name={\csfmt{glsopenbrace}}, + user1={}, + description={expands to a literal open brace \idx{openbracechar} + character}, + topics={charcommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} +} + +@glscommand{glsclosebrace, + name={\csfmt{glsclosebrace}}, + user1={}, + description={expands to a literal close brace \idx{closebracechar} + character}, + topics={charcommands}, + note={\styfmt{glossaries}\texparserdefnote}, category={command} } -@index{glsquote, +@glscommand{glspercentchar, + name={\csfmt{glspercentchar}}, + user1={}, + description={expands to a literal percent character \idx{percentchar} + character}, + topics={charcommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} +} + +@glscommand{glsquote, name={\csfmt{glsquote}}, user1={\margm{text}}, description={encapsulates \meta{text} with literal straight double-quotes \texttt{\glsquote{\meta{text}}}}, + topics={charcommands}, note={\styfmt{glossaries}}, category={command} } -@index{glstildechar, +@glscommand{glstildechar, name={\csfmt{glstildechar}}, user1={}, description={expands to a literal tilde \texttt{\glstildechar} character}, + topics={charcommands}, + note={\styfmt{glossaries}\texparserdefnote}, + category={command} +} + +@glscommand{descriptionname, + name={\csfmt{description\-name}}, + user1={}, + description={language-sensitive name used for the description + header for some glossary styles}, + topics={fixedtextcommands,glossarystylecommands}, note={\styfmt{glossaries}}, category={command} } -@index{pagelistname, - name={\csfmt{pagelistname}}, +@glscommand{pagelistname, + name={\csfmt{page\-list\-name}}, user1={}, description={language-sensitive name used for the location list header for some glossary styles}, + topics={fixedtextcommands,glossarystylecommands,loclistcommands}, note={\styfmt{glossaries}}, category={command} } -@index{seealsoname, +@command{seealsoname, name={\csfmt{seealsoname}}, user1={}, description={language sensitive \qt{see also} text}, - note={\styfmt{glossaries-extra} or language -packages}, + topics={fixedtextcommands,glossarystylecommands,loclistcommands}, + note={\styfmt{glossaries-extra} or language packages}, category={command} } -@index{glsxtruserfield, - name={\csfmt{gls\-xtr\-user\-field}}, +@glscommand{glossaryname, + name={\csfmt{glossary\-name}}, user1={}, - description={used by the parenthetical abbreviation styles, this - expands to the label of the field used to store the parenthetical - material}, - note={\styfmt{glossaries-extra} v1.04+}, + description={language-sensitive name used for the title of the default + \code{main} glossary}, + topics={fixedtextcommands,glossarystylecommands}, + note={\styfmt{glossaries} or language packages}, category={command} } -@index{glsxtruserparen, - name={\csfmt{gls\-xtr\-user\-paren}}, - user1={\margm{text}\margm{label}}, - description={used by the \abbrstyle{long-short-user} and - \abbrstyle{short-long-user} abbreviation styles - to format the parenthetical material where \meta{text} - is the default parenthetical text and \meta{label} - is the entry's label. This checks the field given - by \cs{glsxtruserfield} and, if set, the \meta{text} is - followed by a comma and the user value}, - note={\styfmt{glossaries-extra} v1.04+}, +@glscommand{indexname, + name={\csfmt{index\-name}}, + user1={}, + description={language-sensitive name used for the title of the + glossary created with the \styopt{index} package option}, + topics={fixedtextcommands,glossarystylecommands}, + note={\styfmt{glossaries} or language packages}, category={command} } -@index{glsxtrfullsep, - name={\csfmt{gls\-xtr\-full\-sep}}, - user1={\margm{label}}, - description={the separator used in the full format for the parenthetical styles}, +@glscommand{acronymname, + name={\csfmt{acronym\-name}}, + user1={}, + description={language-sensitive name used for the title of the + glossary created with the \styopt{acronym} or \styopt{acronyms} + package option}, + topics={fixedtextcommands,glossarystylecommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{abbreviationname, + name={\csfmt{ab\-bre\-vi\-a\-tion\-name}}, + user1={}, + description={language-sensitive name used for the title of the + glossary created with the \styopt{abbreviations} package option}, + topics={fixedtextcommands,glossarystylecommands}, note={\styfmt{glossaries-extra}}, category={command} } -@index{GlsXtrForeignText, +@glscommand{GlsXtrForeignText, name={\csfmt{Gls\-Xtr\-Foreign\-Text}}, user1={\margm{label}\margm{text}}, description={encapsulates \meta{text} in \csfmt{foreignlanguage} where the language label is obtained from the locale tag given in the field identified by \cs{GlsXtrForeignTextField}}, + topics={formattingcommands,fieldrefcommands}, note={\styfmt{glossaries-extra} v1.32+}, category={command} } -@index{GlsXtrForeignTextField, +@glscommand{GlsXtrForeignTextField, name={\csfmt{Gls\-Xtr\-Foreign\-Text\-Field}}, description={used by \cs{GlsXtrForeignText} to identify the field containing the locale tag}, + topics={fieldrefcommands}, note={\styfmt{glossaries-extra} v1.32+}, category={command} } -@index{glsxtrparen, +@glscommand{glsxtrparen, name={\csfmt{gls\-xtr\-paren}}, user1={\margm{text}}, - description={used to markup parenthetical material}, + description={used to markup parenthetical material, such as + in \cs{glsxtrpostlinkAddDescOnFirstUse} or in the + \abbrstyle{long-short} and \abbrstyle{short-long} abbreviation + styles}, + topics={formattingcommands}, note={\styfmt{glossaries-extra} v1.17+}, category={command} } -@index{glsxtrpostdescabbreviation, +@glscommand{glsxtrpostdescabbreviation, name={\csfmt{gls\-xtr\-post\-desc\-abbreviation}}, user1={}, description={hook used after the description is displayed in the glossary for entries that have the \field{category} set to \code{abbreviation}}, + topics={hooks,abbreviationcommands}, note={\styfmt{glossaries-extra}}, category={command} } -@index{glsxtrpostdescsymbol, +@glscommand{glsxtrpostdescsymbol, name={\csfmt{gls\-xtr\-post\-desc\-symbol}}, user1={}, description={hook used after the description is displayed in the glossary for entries that have the \field{category} set to \code{symbol}}, + topics={hooks}, note={\styfmt{glossaries-extra}}, category={command} } -@index{glsxtrpostdescgeneral, +@glscommand{glsxtrpostdescgeneral, name={\csfmt{gls\-xtr\-post\-desc\-general}}, user1={}, description={hook used after the description is displayed in the glossary for entries that have the \field{category} set to \code{general}}, + topics={hooks}, note={\styfmt{glossaries-extra}}, category={command} } -@index{glsxtrpostdesccategory, +@glscommand{glsxtrpostdesccategory, name={\csfmt{gls\-xtr\-post\-desc\-\meta{category}}}, user1={}, description={hook used after the description is displayed in the glossary for entries that have the \field{category} set to \meta{category}. Common category hooks such as \cs{glsxtrpostdescgeneral} are provided by - \styfmt{glossaries-extra}, custom categories need the hook defined}, + \styfmt{glossaries-extra}. If required, + this hook can be defined with \cs{glsdefpostdesc}}, + topics={hooks,glossarystylecommands}, + note={\styfmt{glossaries-extra}}, category={command} } -@index{glsxtrpostnamecategory, +@glscommand{glsxtrpostnamecategory, name={\csfmt{gls\-xtr\-post\-name\-\meta{category}}}, user1={}, description={hook used by \cs{glossentryname} for entries that have the \field{category} set to \meta{category}. If required, this hook can be defined with \cs{glsdefpostname}}, + topics={hooks,glossarystylecommands}, + note={\styfmt{glossaries-extra}}, category={command} } -@index{glsxtrpostlinkcategory, +@glscommand{glsxtrpostlinkcategory, name={\csfmt{gls\-xtr\-post\-link\-\meta{category}}}, user1={}, description={hook used after commands like \cs{gls} for entries that have the \field{category} set to \meta{category}. If required, this hook can be defined with \cs{glsdefpostlink}}, + topics={hooks}, + note={\styfmt{glossaries-extra}}, category={command} } -@index{GlsXtrFmtDefaultOptions, +@glscommand{GlsXtrFmtDefaultOptions, name={\csfmt{Gls\-Xtr\-Fmt\-Default\-Options}}, user1={}, description={the default options used by \csref{glsxtrfmt}}, + topics={formattingcommands,indexing}, note={\styfmt{glossaries-extra} v1.12+}, category={command} } -@index{glslink, +@glscommand{glslink, name={\csfmt{glslink}}, user1={\oargm{options}\margm{label}\margm{text}}, - description={links to the entry's location in the glossary with + description={links to the entry's definition in the glossary with the given link text without altering the first use flag}, + topics={entryrefcommands,linkcommands}, note={\styfmt{glossaries}}, seealso={glsdisp}, category={command} } -@index{glsdisp, +@glscommand{glsdisp, name={\csfmt{glsdisp}}, user1={\oargm{options}\margm{label}\margm{text}}, - description={links to the entry's location in the glossary with - the given link text and marks the entry as having been used}, + description={links to the entry's definition in the glossary with + the given link text and marks the entry as having been used. + The options are the same as for \cs{glslink}}, + topics={entryrefcommands,linkcommands}, note={\styfmt{glossaries}}, seealso={glslink}, category={command} } -@index{dglslink, +@glscommand{dglslink, name={\csfmt{dgls\-link}}, user1={\oargm{options}\margm{label}\margm{text}}, description={like \cs{glslink} but tries the prefixes identified with commands like \cs{glsxtraddlabelprefix}}, + topics={entryrefcommands,linkcommands}, note={\styfmt{glossaries-extra-bib2gls} v1.37+}, seealso={dglsdisp}, category={command} } -@index{dglsdisp, +@glscommand{dglsdisp, name={\csfmt{dgls\-disp}}, user1={\oargm{options}\margm{label}\margm{text}}, description={like \cs{glsdisp} but tries the prefixes identified with commands like \cs{glsxtraddlabelprefix}}, + topics={entryrefcommands,linkcommands}, note={\styfmt{glossaries-extra-bib2gls} v1.37+}, seealso={dglsdisp}, category={command} } -@index{glsxtrshort, +@glscommand{glsxtrshort, name={\csfmt{glsxtrshort}}, user1={\oargm{options}\margm{label}}, - description={links to the entry's location in the glossary with + description={links to the entry's definition in the glossary with the link text obtained from the \field{short} field (using the - appropriate abbreviation style) - without altering the first use flag}, + appropriate abbreviation style) without altering the first use flag}, + topics={entryrefcommands,linkcommands,abbreviationcommands,fieldrefcommands}, note={\styfmt{glossaries-extra}}, category={command} } -@index{glsxtrlong, +@glscommand{glsxtrlong, name={\csfmt{glsxtrlong}}, user1={\oargm{options}\margm{label}}, - description={links to the entry's location in the glossary with + description={links to the entry's definition in the glossary with the link text obtained from the \field{long} field (using the appropriate abbreviation style) without altering the first use flag}, + topics={entryrefcommands,linkcommands,abbreviationcommands,fieldrefcommands}, note={\styfmt{glossaries-extra}}, category={command} } -@index{glsxtrfull, +@glscommand{glsxtrfull, name={\csfmt{glsxtrfull}}, user1={\oargm{options}\margm{label}}, - description={links to the entry's location in the glossary with + description={links to the entry's definition in the glossary with the link text obtained from the \field{long} and \field{short} -fields (using the - appropriate abbreviation style) + fields (using the appropriate abbreviation style) without altering the first use flag}, + topics={entryrefcommands,linkcommands,abbreviationcommands}, note={\styfmt{glossaries-extra}}, category={command} } -@index{glsxtrword, +@glscommand{glsxtrword, name={\csfmt{glsxtrword}}, user1={\margm{text}}, description={used to encapsulate each word in the long form of an abbreviation by the \catattr{markwords} attribute}, + topics={formattingcommands,abbreviationcommands}, note={\styfmt{glossaries-extra} v1.17+}, category={command} } -@index{glsxtrwordsep, +@glscommand{glsxtrwordsep, name={\csfmt{glsxtrwordsep}}, description={used to mark spaces between each word in the long form of an -abbreviation by the \catattr{markwords} attribute}, + abbreviation by the \catattr{markwords} attribute}, + topics={separatorcommands,abbreviationcommands}, note={\styfmt{glossaries-extra} v1.17+}, category={command} } -@index{glstext, +@glscommand{glstext, name={\csfmt{glstext}}, user1={\oargm{options}\margm{label}\oargm{insert}}, - description={links to the entry's location in the glossary with + description={links to the entry's definition in the glossary with the link text obtained from the \field{text} field without altering the first use flag}, + topics={entryrefcommands,fieldrefcommands,linkcommands}, note={\styfmt{glossaries}}, category={command} } -@index{Glstext, +@glscommand{Glstext, name={\csfmt{Glstext}}, user1={\oargm{options}\margm{label}\oargm{insert}}, description={as \cs{glstext} but converts the first letter to \idx{uppercase}}, + topics={entryrefcommands,fieldrefcommands,linkcommands,casecommands}, note={\styfmt{glossaries}}, category={command} } -@index{glsname, +@glscommand{glsname, name={\csfmt{glsname}}, user1={\oargm{options}\margm{label}\oargm{insert}}, - description={links to the entry's location in the glossary with + description={links to the entry's definition in the glossary with the link text obtained from the \field{name} field without altering the first use flag}, + topics={entryrefcommands,fieldrefcommands,linkcommands}, note={\styfmt{glossaries}}, category={command} } -@index{glsfirst, +@glscommand{glsfirst, name={\csfmt{glsfirst}}, user1={\oargm{options}\margm{label}\oargm{insert}}, - description={links to the entry's location in the glossary with + description={links to the entry's definition in the glossary with the link text obtained from the \field{first} field without altering the first use flag}, + topics={entryrefcommands,fieldrefcommands,linkcommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{Glsfirst, + name={\csfmt{Glsfirst}}, + user1={\oargm{options}\margm{label}\oargm{insert}}, + description={as \cs{glsfirst} but converts the first letter to + \idx{uppercase}}, + topics={entryrefcommands,fieldrefcommands,linkcommands,casecommands}, note={\styfmt{glossaries}}, category={command} } -@index{glssymbol, +@glscommand{glssymbol, name={\csfmt{glssymbol}}, user1={\oargm{options}\margm{label}\oargm{insert}}, - description={links to the entry's location in the glossary with + description={links to the entry's definition in the glossary with the link text obtained from the \field{symbol} field without altering the first use flag}, + topics={entryrefcommands,fieldrefcommands,linkcommands}, note={\styfmt{glossaries}}, category={command} } -@index{glsdesc, +@glscommand{glsdesc, name={\csfmt{glsdesc}}, user1={\oargm{options}\margm{label}\oargm{insert}}, - description={links to the entry's location in the glossary with + description={links to the entry's definition in the glossary with the link text obtained from the \field{description} field without altering the first use flag}, + topics={entryrefcommands,fieldrefcommands,linkcommands}, note={\styfmt{glossaries}}, category={command} } -@index{glsuseri, +@glscommand{glsuseri, name={\csfmt{glsuseri}}, user1={\oargm{options}\margm{label}\oargm{insert}}, - description={links to the entry's location in the glossary with + description={links to the entry's definition in the glossary with the link text obtained from the \field{user1} field without altering the first use flag}, + topics={entryrefcommands,fieldrefcommands,linkcommands}, note={\styfmt{glossaries}}, category={command} } -@index{glsuserii, +@glscommand{glsuserii, name={\csfmt{glsuserii}}, user1={\oargm{options}\margm{label}\oargm{insert}}, - description={links to the entry's location in the glossary with + description={links to the entry's definition in the glossary with the link text obtained from the \field{user2} field without altering the first use flag}, + topics={entryrefcommands,fieldrefcommands,linkcommands}, note={\styfmt{glossaries}}, category={command} } -@index{glsuseriii, +@glscommand{glsuseriii, name={\csfmt{glsuseriii}}, user1={\oargm{options}\margm{label}\oargm{insert}}, - description={links to the entry's location in the glossary with + description={links to the entry's definition in the glossary with the link text obtained from the \field{user3} field without altering the first use flag}, + topics={entryrefcommands,fieldrefcommands,linkcommands}, note={\styfmt{glossaries}}, category={command} } -@index{glsuseriv, +@glscommand{glsuseriv, name={\csfmt{glsuseriv}}, user1={\oargm{options}\margm{label}\oargm{insert}}, - description={links to the entry's location in the glossary with + description={links to the entry's definition in the glossary with the link text obtained from the \field{user4} field without altering the first use flag}, + topics={entryrefcommands,fieldrefcommands,linkcommands}, note={\styfmt{glossaries}}, category={command} } -@index{glsuserv, +@glscommand{glsuserv, name={\csfmt{glsuserv}}, user1={\oargm{options}\margm{label}\oargm{insert}}, - description={links to the entry's location in the glossary with + description={links to the entry's definition in the glossary with the link text obtained from the \field{user5} field without altering the first use flag}, + topics={entryrefcommands,fieldrefcommands,linkcommands}, note={\styfmt{glossaries}}, category={command} } -@index{glsuservi, +@glscommand{glsuservi, name={\csfmt{glsuservi}}, user1={\oargm{options}\margm{label}\oargm{insert}}, - description={links to the entry's location in the glossary with + description={links to the entry's definition in the glossary with the link text obtained from the \field{user6} field without altering the first use flag}, + topics={entryrefcommands,fieldrefcommands,linkcommands}, note={\styfmt{glossaries}}, category={command} } -@dualindexentry{rgls, +@mainglscommand{rgls, name={\csfmt{rgls}}, user1={\oargm{options}\margm{label}\oargm{insert}}, description={like \cs{gls} but checks for the record - count trigger setting}, + count trigger setting (the formatting is governed by \cs{rglsformat})}, + topics={entryrefcommands,linkcommands}, note={\styfmt{glossaries-extra} v1.21+}, category={command} } -@dualindexentry{rglsformat, +@mainglscommand{rglsformat, name={\csfmt{rglsformat}}, user1={\margm{label}\oargm{insert}}, description={used by \csref{rgls} if the record count switch is triggered}, + topics={formattingcommands}, note={\styfmt{glossaries-extra} v1.21+}, category={command} } -@index{glsxtrenablerecordcount, +@glscommand{glsxtrenablerecordcount, name={\csfmt{glsxtr\-enable\-record\-count}}, user1={}, - description={redefines \cs{gls} etc to their - \csref{rgls} counterpart}, + description={redefines \cs{gls} etc to their \csref{rgls} counterpart}, + topics={providingcommands}, note={\styfmt{glossaries-extra} v1.21+}, category={command} } -@dualindexentry{GlsXtrSetRecordCountAttribute, +@mainglscommand{GlsXtrSetRecordCountAttribute, name={\csfmt{Gls\-Xtr\-Set\-Record\-Count\-Attribute}}, user1={\margm{category list}\margm{value}}, description={sets the \catattr{recordcount} attribute to \meta{value} for the given categories}, + topics={assigncommands}, note={\styfmt{glossaries-extra} v1.21+}, category={command} } -@index{gls, +@glscommand{gls, name={\csfmt{gls}}, user1={\oargm{options}\margm{label}\oargm{insert}}, description={on first use displays the first use text (the value of the \field{first} field for general entries) and on subsequent use displays - the subsequent use text (the value of the - \field{text} field + the subsequent use text (the value of the \field{text} field for general entries) where the text is optionally hyperlinked - to the relevant place in the glossary}, + to the relevant place in the glossary. The options are + the same as for \cs{glslink}}, + topics={entryrefcommands,linkcommands}, note={\styfmt{glossaries}}, category={command} } -@index{gls.format, +@glslinkoption{gls.format, name={\csoptfmt{format}}, + user1={\margm{encap}}, category={commandoption}, - parent={gls} + description={sets the \gls{encap} for the record to + \meta{encap}, optionally with the start or end range markers}, + note={\styfmt{glossaries}}, + parent={glslink} } -@index{gls.counter, +@glslinkoption{gls.counter, name={\csoptfmt{counter}}, + user1={\margm{counter-name}}, + description={sets the counter to use for the record}, category={commandoption}, - parent={gls} + note={\styfmt{glossaries}}, + parent={glslink} } -@index{gls.noindex, +@glslinkoption{gls.noindex, name={\csoptfmt{noindex}}, + user1={\margm{boolean}}, + description={indicates whether or not to suppress indexing}, + category={commandoption}, + note={\styfmt{glossaries-extra}}, + parent={glslink} +} + +@glslinkoption{gls.wrgloss, + name={\csoptfmt{wrgloss}}, + user1={\margm{value}}, + description={indicates whether to write the glossary information + before (\csoptfmt{wrgloss\dequals before}) or after + (\csoptfmt{wrgloss\dequals after}) the link text (default: + \csoptfmt{before})}, + category={commandoption}, + note={\styfmt{glossaries-extra} v1.14+}, + parent={glslink} +} + +@glslinkoption{gls.thevalue, + name={\csoptfmt{thevalue}}, + user1={\margm{value}}, + description={overrides the record value so that it's the + given \meta{value} not obtained from the associated counter}, + category={commandoption}, + note={\styfmt{glossaries-extra} v1.19+}, + parent={glslink} +} + +@glslinkoption{gls.theHvalue, + name={\csoptfmt{theHvalue}}, + user1={\margm{value}}, + description={the hyperlink target corresponding to the value + of \glsopt{thevalue}, if appropriate}, category={commandoption}, - parent={gls} + note={\styfmt{glossaries-extra} v1.19+}, + parent={glslink} } -@index{gls.hyper, +@glslinkoption{gls.hyper, name={\csoptfmt{hyper}}, + user1={\margm{boolean}}, + description={indicates whether or not to make a hyperlink to the + relevant glossary entry}, + category={commandoption}, + note={\styfmt{glossaries}}, + parent={glslink} +} + +@glslinkoption{gls.local, + name={\csoptfmt{local}}, + user1={\margm{boolean}}, + description={if \csoptfmt{true} indicates to use \ics{glslocalunset} + instead of the default global \cs{glsunset} to unset the + \idx{firstuseflag}}, category={commandoption}, - parent={gls} + note={\styfmt{glossaries}}, + parent={glslink} } -@index{gls.textformat, +@glslinkoption{gls.textformat, name={\csoptfmt{text\-format}}, + user1={\margm{cs-name}}, + description={if set, replaces \cs{glstextformat} with + the command given by the control sequence name + \meta{cs-name} to format the \idx{link-text}}, category={commandoption}, - parent={gls} + note={\styfmt{glossaries-extra} v1.30+}, + parent={glslink} } -@index{gls.prefix, +@glslinkoption{gls.prefix, name={\csoptfmt{prefix}}, + user1={\margm{label}}, + description={locally changes \ics{glolinkprefix} to the + given \meta{label}}, category={commandoption}, - parent={gls} + note={\styfmt{glossaries-extra} v1.31+}, + parent={glslink} } -@index{gls.hyperoutside, - name={\csoptfmt{hyperoutside}}, +@glslinkoption{gls.hyperoutside, + name={\csoptfmt{hyper\-out\-side}}, + user1={\margm{boolean}}, + description={determines whether \cs{hyperlink} should + be outside of \cs{glstextformat} (default + \csoptfmt{hyperoutside\dequals true}) or inside + (\csoptfmt{hyperoutside\dequals false})}, category={commandoption}, - parent={gls} + note={\styfmt{glossaries-extra} v1.21+}, + parent={glslink} } -@index{glspl, +@glscommand{glspl, name={\csfmt{glspl}}, user1={\oargm{options}\margm{label}\oargm{insert}}, description={as \cs{gls} but shows the plural form}, + topics={entryrefcommands,linkcommands}, note={\styfmt{glossaries}}, category={command} } -@index{Gls, +@glscommand{Gls, name={\csfmt{Gls}}, user1={\oargm{options}\margm{label}\oargm{insert}}, description={as \cs{gls} but converts the first letter - of the link text to upper case}, + of the link text to \idx{uppercase}}, + topics={entryrefcommands,linkcommands,casecommands}, note={\styfmt{glossaries}}, category={command} } -@index{Glspl, +@glscommand{Glspl, name={\csfmt{Glspl}}, user1={\oargm{options}\margm{label}\oargm{insert}}, description={as \cs{Gls} but shows the plural form}, + topics={entryrefcommands,linkcommands,casecommands}, note={\styfmt{glossaries}}, category={command} } -@index{GLS, +@glscommand{GLS, name={\csfmt{GLS}}, user1={\oargm{options}\margm{label}\oargm{insert}}, - description={as \cs{gls} but converts the link text to upper case}, + description={as \cs{gls} but converts the link text to \idx{uppercase}}, + topics={entryrefcommands,linkcommands,casecommands}, note={\styfmt{glossaries}}, category={command} } -@index{GLSpl, +@glscommand{GLSpl, name={\csfmt{GLSpl}}, user1={\oargm{options}\margm{label}\oargm{insert}}, description={as \cs{GLS} but shows the plural form}, + topics={entryrefcommands,linkcommands,casecommands}, note={\styfmt{glossaries}}, category={command} } -@index{pgls, +@glscommand{pgls, name={\csfmt{pgls}}, user1={\oargm{options}\margm{label}\oargm{insert}}, description={does \meta{prefix}\cs{gls}\oargm{options}\margm{label}\oargm{insert}, where the \meta{prefix} is obtained from the appropriate prefix field}, + topics={entryrefcommands,fieldrefcommands,linkcommands}, + note={\styfmt{glossaries-prefix}}, + category={command} +} + +@glscommand{Pgls, + name={\csfmt{Pgls}}, + user1={\oargm{options}\margm{label}\oargm{insert}}, + description={does \meta{prefix}\cs{gls}\oargm{options}\margm{label}\oargm{insert}, + where the \meta{prefix} is obtained from the appropriate prefix + field with the first letter converted to \idx{uppercase}}, + topics={entryrefcommands,fieldrefcommands,linkcommands,casecommands}, + note={\styfmt{glossaries-prefix}}, + category={command} +} + +@glscommand{PGLS, + name={\csfmt{PGLS}}, + user1={\oargm{options}\margm{label}\oargm{insert}}, + description={does \meta{prefix}\cs{GLS}\oargm{options}\margm{label}\oargm{insert}, + where the \meta{prefix} is obtained from the appropriate prefix + field with the text converted to \idx{uppercase}}, + topics={entryrefcommands,fieldrefcommands,linkcommands,casecommands}, + note={\styfmt{glossaries-prefix}}, + category={command} +} + +@glscommand{pglspl, + name={\csfmt{pglspl}}, + user1={\oargm{options}\margm{label}\oargm{insert}}, + description={does \meta{prefix}\cs{glspl}\oargm{options}\margm{label}\oargm{insert}, + where the \meta{prefix} is obtained from the appropriate prefix + field}, + topics={entryrefcommands,fieldrefcommands,linkcommands}, + note={\styfmt{glossaries-prefix}}, + category={command} +} + +@glscommand{Pglspl, + name={\csfmt{Pglspl}}, + user1={\oargm{options}\margm{label}\oargm{insert}}, + description={does \meta{prefix}\cs{glspl}\oargm{options}\margm{label}\oargm{insert}, + where the \meta{prefix} is obtained from the appropriate prefix + field with the first letter converted to \idx{uppercase}}, + topics={entryrefcommands,fieldrefcommands,linkcommands,casecommands}, note={\styfmt{glossaries-prefix}}, category={command} } -@index{dgls, +@glscommand{PGLSpl, + name={\csfmt{PGLSpl}}, + user1={\oargm{options}\margm{label}\oargm{insert}}, + description={does \meta{prefix}\cs{GLSpl}\oargm{options}\margm{label}\oargm{insert}, + where the \meta{prefix} is obtained from the appropriate prefix + field with the text converted to \idx{uppercase}}, + topics={entryrefcommands,fieldrefcommands,linkcommands,casecommands}, + note={\styfmt{glossaries-prefix}}, + category={command} +} + +@glscommand{dgls, name={\csfmt{dgls}}, user1={\oargm{options}\margm{label}\oargm{insert}}, description={intended for documents with a mixture of single and dual entries, this is like \cs{gls} but tries to determine the label prefix from the label prefix list}, + topics={entryrefcommands,linkcommands}, note={\styfmt{glossaries-extra-bib2gls} v1.37+}, seealso={glsxtraddlabelprefix,glsxtrprependlabelprefix}, category={command} } -@index{dglspl, +@glscommand{dglspl, name={\csfmt{dglspl}}, user1={\oargm{options}\margm{label}\oargm{insert}}, description={intended for documents with a mixture of single and dual entries, this is like \cs{glspl} but tries to determine the label prefix from the label prefix list}, + topics={entryrefcommands,linkcommands}, note={\styfmt{glossaries-extra-bib2gls} v1.37+}, seealso={glsxtraddlabelprefix,glsxtrprependlabelprefix}, category={command} } -@index{dGls, +@glscommand{dGls, name={\csfmt{dGls}}, user1={\oargm{options}\margm{label}\oargm{insert}}, description={intended for documents with a mixture of single and dual entries, this is like \cs{Gls} but tries to determine the label prefix from the label prefix list}, + topics={entryrefcommands,linkcommands,casecommands}, note={\styfmt{glossaries-extra-bib2gls} v1.37+}, seealso={glsxtraddlabelprefix,glsxtrprependlabelprefix}, category={command} } -@index{dGlspl, +@glscommand{dGlspl, name={\csfmt{dGlspl}}, user1={\oargm{options}\margm{label}\oargm{insert}}, description={intended for documents with a mixture of single and dual entries, this is like \cs{Glspl} but tries to determine the label prefix from the label prefix list}, + topics={entryrefcommands,linkcommands,casecommands}, note={\styfmt{glossaries-extra-bib2gls} v1.37+}, seealso={glsxtraddlabelprefix,glsxtrprependlabelprefix}, category={command} } -@index{glsxtraddlabelprefix, +@glscommand{glsxtraddlabelprefix, name={\csfmt{gls\-xtr\-add\-label\-prefix}}, user1={\margm{prefix}}, description={appends \meta{prefix} to the prefix label list}, + topics={listcommands}, note={\styfmt{glossaries-extra-bib2gls} v1.37+}, seealso={dgls,glsxtrprependlabelprefix,glsxtrclearlabelprefixes}, category={command} } -@index{glsxtrprependlabelprefix, +@glscommand{glsxtrprependlabelprefix, name={\csfmt{gls\-xtr\-prepend\-label\-prefix}}, user1={\margm{prefix}}, description={prepends \meta{prefix} to the prefix label list}, + topics={listcommands}, note={\styfmt{glossaries-extra-bib2gls} v1.37+}, seealso={dgls,glsxtraddlabelprefix,glsxtrclearlabelprefixes}, category={command} } -@index{glsxtrclearlabelprefixes, +@glscommand{glsxtrclearlabelprefixes, name={\csfmt{gls\-xtr\-clear\-label\-prefixes}}, user1={\margm{prefix}}, description={clears the prefix label list}, + topics={listcommands}, note={\styfmt{glossaries-extra-bib2gls} v1.37+}, seealso={glsxtraddlabelprefix,glsxtrprependlabelprefix}, category={command} } -@index{glssetwidest, +@glscommand{glssetwidest, name={\csfmt{gls\-set\-widest}}, user1={\oargm{level}\margm{text}}, description={used with the \glostyle{alttree} style to set the widest entry name for the given level}, + topics={assigncommands,glossarystylecommands}, note={\styfmt{glossary-tree}}, category={command} } -@index{glsxtrSetWidest, +@glscommand{glsxtrSetWidest, name={\csfmt{gls\-xtr\-Set\-Widest}}, user1={\margm{type}\margm{level}\margm{text}}, description={used by \csref{bibglssetwidest} to set the widest entry name for the given level for the \glostyle{alttree} style and the styles provided by \sty{glossary-longextra}}, + topics={assigncommands,glossarystylecommands}, note={\styfmt{glossaries-extra-bib2gls} v1.37+}, seealso={glssetwidest,glslongextraSetWidest}, category={command} } -@index{glsxtrSetWidestFallback, +@glscommand{glsxtrSetWidestFallback, name={\csfmt{gls\-xtr\-Set\-Widest\-Fallback}}, user1={\margm{max depth}\margm{list}}, description={used by \csref{bibglssetwidesttoplevelfallback} and @@ -10031,325 +14217,319 @@ abbreviation by the \catattr{markwords} attribute}, widest entry name for the \glostyle{alttree} style and the styles provided by \sty{glossary-longextra} using the commands provided by \sty{glossaries-extra-stylemods}}, + topics={assigncommands,glossarystylecommands}, note={\styfmt{glossaries-extra-bib2gls} v1.37+}, seealso={glsFindWidestTopLevelName,glsFindWidestLevelTwo}, category={command} } -@index{glslongextraSetWidest, +@glscommand{glslongextraSetWidest, name={\csfmt{gls\-long\-extra\-Set\-Widest}}, user1={\margm{text}}, description={used with the styles provided by the \sty{glossary-longextra} package to set the widest entry name}, + topics={assigncommands,glossarystylecommands}, note={\styfmt{glossary-longextra} v1.37+}, seealso={glslongextraUpdateWidest}, category={command} } -@index{glslongextraUpdateWidest, +@glscommand{glslongextraUpdateWidest, name={\csfmt{gls\-long\-extra\-Update\-Widest}}, user1={\margm{text}}, description={as \cs{glslongextraSetWidest} but only sets if \meta{text} is wider than the current value}, + topics={assigncommands,glossarystylecommands}, note={\styfmt{glossary-longextra} v1.37+}, category={command} } -@index{glsupdatewidest, +@glscommand{glsupdatewidest, name={\csfmt{gls\-update\-widest}}, user1={\oargm{level}\margm{text}}, description={as \cs{glssetwidest} but only sets if \meta{text} is wider than the current value}, + topics={assigncommands,glossarystylecommands}, note={\styfmt{glossaries-extra-stylemods} v1.23+}, seealso={glssetwidest,eglsupdatewidest}, category={command} } -@index{eglsupdatewidest, +@glscommand{eglsupdatewidest, name={\csfmt{egls\-update\-widest}}, user1={\oargm{level}\margm{text}}, description={as \cs{glsupdatewidest} but expands \meta{text}}, + topics={assigncommands,glossarystylecommands}, note={\styfmt{glossaries-extra-stylemods} v1.23+}, seealso={glssetwidest,glsupdatewidest}, category={command} } -@index{glsFindWidestTopLevelName, +@glscommand{glsFindWidestTopLevelName, name={\csfmt{gls\-Find\-Widest\-Top\-Level\-Name}}, user1={\oargm{glossary list}}, description={CamelCase synonym for \cs{glsfindwidesttoplevelname}}, + topics={assigncommands,glossarystylecommands}, note={\styfmt{glossaries-extra-stylemods}}, seealso={glsfindwidesttoplevelname}, category={command} } -@index{glsfindwidesttoplevelname, +@glscommand{glsfindwidesttoplevelname, name={\csfmt{gls\-find\-widest\-top\-level\-name}}, user1={\oargm{glossary list}}, description={finds the widest top-level name in the given glossaries}, + topics={assigncommands,glossarystylecommands}, note={\styfmt{glossary-tree}}, category={command} } -@index{glsFindWidestLevelTwo, +@glscommand{glsFindWidestLevelTwo, name={\csfmt{gls\-Find\-Widest\-Level\-Two}}, user1={\oargm{glossary list}}, description={finds the widest name in the given glossaries for the top level and first two sub-levels}, + topics={assigncommands,glossarystylecommands}, note={\styfmt{glossaries-extra-stylemods}}, seealso={glsfindwidesttoplevelname}, category={command} } -@index{glsxtrbookindexname, +@glscommand{glsxtrbookindexname, name={\csfmt{glsxtr\-book\-index\-name}}, user1={\margm{label}}, description={used with the \glostyle{bookindex} style to format the entry's name}, + topics={formattingcommands,glossarystylecommands}, note={\styfmt{glossary-bookindex}}, category={command} } -@index{glsxtrbookindexprelocation, +@glscommand{glsxtrbookindexprelocation, name={\csfmt{glsxtr\-book\-index\-pre\-location}}, user1={\margm{label}}, description={used with the \glostyle{bookindex} style before the location list}, + topics={formattingcommands,separatorcommands,glossarystylecommands}, note={\styfmt{glossary-bookindex}}, category={command} } -@index{glsxtrprelocation, +@glscommand{glsxtrprelocation, name={\csfmt{glsxtr\-pre\-location}}, user1={}, description={used before the location list in the \glostyle{bookindex} style and the styles patched by \styfmt{glossaries-extra-stylemods}}, + topics={formattingcommands,separatorcommands,glossarystylecommands}, note={\styfmt{glossary-bookindex} v1.21+ and \styfmt{glossaries-extra-stylemods} v1.21+}, category={command} } -@index{glsabbrvscfont, - name={\csfmt{gls\-abbrv\-sc\-font}}, - user1={\margm{text}}, - description={used with \qt{sc} abbreviation styles to format the -short form using \cs{textsc}}, - note={\styfmt{glossaries-extra} v1.17+}, - category={command} -} - -@index{glsabbrvonlyfont, - name={\csfmt{gls\-abbrv\-only\-font}}, - user1={\margm{text}}, - description={used with \qt{only} abbreviation styles to format the -short form}, - note={\styfmt{glossaries-extra} v1.17+}, - category={command} -} - -@index{glslongonlyfont, - name={\csfmt{gls\-long\-only\-font}}, - user1={\margm{text}}, - description={used with \qt{only} abbreviation styles to format the -long form}, - note={\styfmt{glossaries-extra} v1.17+}, - category={command} -} - -@index{glsabbrvfont, +@glscommand{glsabbrvfont, name={\csfmt{gls\-abbrv\-font}}, user1={\margm{text}}, description={generic abbreviation font command for the short form}, + topics={formattingcommands,abbreviationcommands}, note={\styfmt{glossaries-extra}}, category={command} } -@index{glslongfont, +@glscommand{glslongfont, name={\csfmt{gls\-long\-font}}, user1={\margm{text}}, description={generic abbreviation font command for the long form}, + topics={formattingcommands,abbreviationcommands}, note={\styfmt{glossaries-extra} v1.04+}, category={command} } -@index{glsshorttok, +@glscommand{glsshorttok, name={\csfmt{gls\-short\-tok}}, description={token register used in the construction of acronyms or abbreviations to allow the style hooks to access the short form}, + topics={hooks,abbreviationcommands}, note={\styfmt{glossaries}}, category={command} } -@index{glslongtok, +@glscommand{glslongtok, name={\csfmt{gls\-long\-tok}}, description={token register used in the construction of acronyms or abbreviations to allow the style hooks to access the long form}, + topics={hooks,abbreviationcommands}, note={\styfmt{glossaries}}, category={command} } -@index{glsuserdescription, - name={\csfmt{gls\-user\-description}}, - user1={\margm{description}\margm{label}}, - description={used with \qt{user} abbreviation styles to - encapsulate the description. Just does - \code{\cs{glslonguserfont}\margm{description}} by default}, - note={\styfmt{glossaries-extra} v1.30+}, - category={command} -} - -@index{glslonguserfont, - name={\csfmt{gls\-long\-user\-font}}, - user1={\margm{text}}, - description={used with \qt{user} abbreviation styles to - format the long form}, - note={\styfmt{glossaries-extra} v1.04+}, - category={command} -} - -@index{glsfirstlonguserfont, - name={\csfmt{gls\-first\-long\-user\-font}}, - user1={\margm{text}}, - description={used with \qt{user} abbreviation styles to - format the long form on first use}, - note={\styfmt{glossaries-extra} v1.04+}, - category={command} -} - -@index{glsabbrvuserfont, - name={\csfmt{gls\-abbrv\-user\-font}}, - user1={\margm{text}}, - description={used with \qt{user} abbreviation styles to - format the short form}, - note={\styfmt{glossaries-extra} v1.04+}, - category={command} -} - -@index{glsfirstabbrvuserfont, - name={\csfmt{gls\-first\-abbrv\-user\-font}}, - user1={\margm{text}}, - description={used with \qt{user} abbreviation styles to - format the short form on first use}, - note={\styfmt{glossaries-extra} v1.04+}, - category={command} -} - -@index{glsxtrifinmark, +@glscommand{glsxtrifinmark, name={\csfmt{gls\-xtr\-if\-in\-mark}}, user1={\margm{true}\margm{true}}, description={used by commands like \cs{glsfmtshort}, this expands -to \meta{true} in page headings and the table of contents, + to \meta{true} in page headings and the table of contents, otherwise it expands to \meta{false}}, + topics={conditionals}, note={\styfmt{glossaries-extra} v1.07+}, category={command} } -@index{glsxtrRevertTocMarks, +@glscommand{glsxtrRevertTocMarks, name={\csfmt{gls\-xtr\-Revert\-Toc\-Marks}}, description={restores original behaviour of \cs{tableofcontents} so that \cs{glsxtrifinmark} expands to \meta{false} in the table -of contents}, + of contents}, + topics={providingcommands}, note={\styfmt{glossaries-extra} v1.07+}, category={command} } -@index{glstreenamefmt, +@glscommand{glstreenamefmt, name={\csfmt{gls\-tree\-name\-fmt}}, user1={\margm{text}}, description={used with the tree styles to format the entry's name}, + topics={formattingcommands,glossarystylecommands}, note={\styfmt{glossary-tree} v4.08+ and \styfmt{glossaries-extra-stylemods} v1.31+}, seealso={glstreegroupheaderfmt,glstreenavigationfmt,glstreedefaultnamefmt}, category={command} } -@index{glstreegroupheaderfmt, +@glscommand{glstreegroupheaderfmt, name={\csfmt{gls\-tree\-group\-header\-fmt}}, user1={\margm{text}}, - description={used with the tree styles to format the group -headings}, + description={used with the tree styles to format the group headings}, + topics={formattingcommands,glossarystylecommands}, note={\styfmt{glossary-tree} v4.22+ and \styfmt{glossaries-extra-stylemods} v1.31+}, category={command} } -@index{glstreenavigationfmt, +@glscommand{glstreenavigationfmt, name={\csfmt{gls\-tree\-navigation\-fmt}}, user1={\margm{text}}, - description={used with the tree styles to format the navigation -elements}, + description={used with the tree styles to format the navigation elements}, + topics={formattingcommands,glossarystylecommands}, note={\styfmt{glossary-tree} v4.22+ and \styfmt{glossaries-extra-stylemods} v1.31+}, category={command} } -@index{glstreedefaultnamefmt, +@glscommand{glstreedefaultnamefmt, name={\csfmt{gls\-tree\-default\-name\-fmt}}, user1={\margm{text}}, description={used as the default format for \cs{glstreenamefmt}, \cs{glstreegroupheaderfmt} and \cs{glstreenavigationfmt}}, + topics={formattingcommands,glossarystylecommands}, note={\styfmt{glossaries-extra-stylemods} v1.31+}, category={command} } -@index{glstreeprelocation, +@glscommand{glstreeprelocation, name={\csfmt{gls\-tree\-pre\-location}}, description={inserted before the location list for top-level entries in the \glostyle{tree}-like styles}, + topics={formattingcommands,separatorcommands,glossarystylecommands}, note={\styfmt{glossaries-extra-stylemods} v1.21+}, category={command} } -@index{glsdescwidth, +@glscommand{glsdescwidth, name={\csfmt{gls\-desc\-width}}, user1={}, description={length register used by the tabular styles to specify the width of the description column}, + topics={glossarystylecommands}, note={\styfmt{glossary-long} and \styfmt{glossary-super}}, category={command} } -@index{glsxtralttreeSymbolDescLocation, +@glscommand{glsxtralttreeSymbolDescLocation, name={\csfmt{gls\-xtr\-alt\-tree\-Symbol\-Desc\-Location}}, user1={\margm{label}\margm{location list}}, description={used by the \glostyle{alttree} styles to format the symbol, description and location}, + topics={formattingcommands,glossarystylecommands}, note={\styfmt{glossaries-extra-stylemods} v1.05+}, category={command} } -@index{glsxtrAltTreePar, +@glscommand{glsxtrAltTreePar, name={\csfmt{gls\-xtr\-Alt\-Tree\-Par}}, description={used by the \glostyle{alttree} styles to indicate a paragraph break that retains the hanging indent}, + topics={formattingcommands,glossarystylecommands}, note={\styfmt{glossaries-extra-stylemods} v1.05+}, category={command} } -@index{glsaccsupp, +@glscommand{glsaccsupp, name={\csfmt{gls\-acc\-supp}}, user1={\margm{accessible text}\margm{text}}, description={used by the accessibility support to interface with -the \sty{accsupp} package}, + the \sty{accsupp} package (use \cs{xglsaccsupp} if \meta{text} + needs to be fully expanded first)}, + topics={access-support}, + note={\styfmt{glossaries-accsupp}}, + seealso={xglsaccsupp}, + category={command} +} + +@glscommand{xglsaccsupp, + name={\csfmt{xgls\-acc\-supp}}, + user1={\margm{accessible text}\margm{text}}, + description={used by the accessibility support to interface with + the \sty{accsupp} package, where \meta{text} is fully expanded}, + topics={access-support}, note={\styfmt{glossaries-accsupp}}, + seealso={glsaccsupp}, category={command} } -@index{forglsentries, +@glscommand{forglsentries, name={\csfmt{for\-gls\-entries}}, + user1={\oargm{type}\margm{cs}\margm{body}}, + description={iterates over all entries defined in the glossary + identified by \meta{type} (or the default, if \meta{type} + is omitted) and perform \meta{body} where you can use the + control sequence \meta{cs} to reference the current entry label}, + topics={loops,entryrefcommands}, + note={\styfmt{glossaries}}, + seealso={forallglsentries}, + category={command} +} + +@glscommand{forallglsentries, + name={\csfmt{for\-all\-gls\-entries}}, + user1={\oargm{glossary-list}\margm{cs}\margm{body}}, + description={iterates over all entries defined in the + comma-separated \meta{glossary-list} (or all defined non-ignored + glossaries if the optional argument is omitted) and perform + \meta{body} where you can use the control sequence \meta{cs} to + reference the current entry label}, + topics={loops,glossrefs,entryrefcommands}, + note={\styfmt{glossaries}}, + seealso={forglsentries,forallglossaries}, + category={command} +} + +@glscommand{forallglossaries, + name={\csfmt{for\-all\-glos\-saries}}, user1={\oargm{glossary-list}\margm{cs}\margm{body}}, - description={iterates over all entries defined in the listed - glossaries and perform \meta{body} where you can use the - control sequence \meta{cs} to reference the current label}, + description={iterates over all glossaries identified in the + comma-separated \meta{glossary-list} (or all defined non-ignored + glossaries if the optional argument is omitted) and performs \meta{body} + where you can use the control sequence \meta{cs} to reference + the current glossary label}, + topics={loops,glossrefs}, note={\styfmt{glossaries}}, category={command} } -@index{glsxtrforcsvfield, +@glscommand{glsxtrforcsvfield, name={\csfmt{gls\-xtr\-for\-csv\-field}}, user1={\margm{label}\margm{field}\margm{handler}}, description={iterates over the comma-separated list @@ -10357,22 +14537,93 @@ the \sty{accsupp} package}, by \meta{label} and performs \meta{handler}\margm{element} on each element of the list, where \meta{handler} is a control sequence which takes a single argument}, + topics={loops,fieldrefcommands,listcommands}, + note={\styfmt{glossaries}}, note={\styfmt{glossaries-extra} v1.24+}, seealso={glsxtrendfor}, category={command} } -@index{glsxtrendfor, - name={\csfmt{gls\-xtr\-end\-for}}, - user1={}, - description={may be used within the handler macro - of \cs{glsxtrforcsvfield} to prematurely break the loop}, - note={\styfmt{glossaries-extra} v1.24+}, - seealso={glsxtrforcsvfield}, +@glscommand{glsxtrendfor, + name={\csfmt{gls\-xtr\-end\-for}}, + user1={}, + description={may be used within the handler macro + of \cs{glsxtrforcsvfield} to prematurely break the loop}, + topics={loops,listcommands}, + note={\styfmt{glossaries-extra} v1.24+}, + seealso={glsxtrforcsvfield}, + category={command} +} + +@glscommand{ifglossaryexists, + name={\csfmt{if\-glossary\-exists}}, + user1={\margm{type}\margm{true}\margm{false}}, + description={tests if the glossary given by \meta{type} exists + and does \meta{true} if it does exists, otherwise does \meta{false}}, + topics={conditionals,glossrefs}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{ifignoredglossary, + name={\csfmt{if\-ignored\-glossary}}, + user1={\margm{type}\margm{true}\margm{false}}, + description={tests if the glossary given by \meta{type} was + defined as an ignored glossary}, + topics={conditionals,glossrefs}, + note={\styfmt{glossaries} v4.08+}, + category={command} +} + +@glscommand{glsdoifexists, + name={\csfmt{gls\-do\-if\-exists}}, + user1={\margm{label}\margm{code}}, + description={if the entry given by \meta{label} exists, \meta{code} + is done, otherwise an error (or warning with + \sty{glossaries-extra}'s \styopt[warn]{undefaction} option) is + triggered}, + topics={conditionals,entryrefcommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{glsdoifnoexists, + name={\csfmt{gls\-do\-if\-no\-exists}}, + user1={\margm{label}\margm{code}}, + description={if the entry given by \meta{label} doesn't exist, \meta{code} + is done, otherwise an error (or warning with + \sty{glossaries-extra}'s \styopt[warn]{undefaction} option) is + triggered}, + topics={conditionals,entryrefcommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{glsdoifexistsordo, + name={\csfmt{gls\-do\-if\-exists\-or\-do}}, + user1={\margm{label}\margm{code}\margm{else code}}, + description={if the entry given by \meta{label} exists, \meta{code} + is done, otherwise an error (or warning with + \sty{glossaries-extra}'s \styopt[warn]{undefaction} option) is + triggered and \meta{else code} is done}, + topics={conditionals,entryrefcommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{glsdoifnoexistsordo, + name={\csfmt{gls\-do\-if\-no\-exists\-or\-do}}, + user1={\margm{label}\margm{code}\margm{else code}}, + description={if the entry given by \meta{label} doesn't exist, \meta{code} + is done, otherwise an error (or warning with + \sty{glossaries-extra}'s \styopt[warn]{undefaction} option) is + triggered and \meta{else code} is done}, + topics={conditionals,entryrefcommands}, + note={\styfmt{glossaries}}, category={command} } -@index{TrackLocale, +@command{TrackLocale, name={\csfmt{Track\-Locale}}, user1={\margm{language tag}}, description={tracks the given language tag}, @@ -10380,7 +14631,7 @@ the \sty{accsupp} package}, category={command} } -@index{GetTrackedDialectFromLanguageTag, +@command{GetTrackedDialectFromLanguageTag, name={\csfmt{Get\-Tracked\-Dialect\-From\-Language\-Tag}}, user1={\margm{language tag}\margm{cs}}, description={gets the \styfmt{tracklang} dialect label from the @@ -10391,7 +14642,7 @@ the given language tag}, category={command} } -@index{TrackedDialectClosestSubMatch, +@command{TrackedDialectClosestSubMatch, name={\csfmt{Tracked\-Dialect\-Closest\-Sub\-Match}}, description={set by \cs{GetTrackedDialectFromLanguageTag} if an exact match isn't found but a partial match on the @@ -10400,7 +14651,7 @@ the given language tag}, category={command} } -@index{IfTrackedDialectHasMapping, +@command{IfTrackedDialectHasMapping, name={\csfmt{If\-Tracked\-Dialect\-Has\-Mapping}}, user1={\margm{tracklang label}\margm{true}\margm{false}}, description={tests if the \styfmt{tracklang} dialect label has @@ -10409,7 +14660,7 @@ been assigned a mapping to a language hook label}, category={command} } -@index{GetTrackedDialectToMapping, +@command{GetTrackedDialectToMapping, name={\csfmt{Get\-Tracked\-Dialect\-To\-Mapping}}, user1={\margm{tracklang label}}, description={the language hook label corresponding to the given @@ -10418,65 +14669,74 @@ been assigned a mapping to a language hook label}, category={command} } -@index{glstextformat, +@glscommand{glstextformat, name={\csfmt{glstextformat}}, user1={\margm{text}}, description={used by commands like \cs{gls} to format the \idx{link-text}}, + topics={formattingcommands}, note={\styfmt{glossaries}}, category={command} } -@index{glsxtrregularfont, +@glscommand{glsxtrregularfont, name={\csfmt{gls\-xtr\-reg\-u\-lar\-font}}, user1={\margm{text}}, description={used by commands like \cs{gls} to format the \idx{link-text} for regular terms}, + topics={formattingcommands}, note={\styfmt{glossaries-extra} v1.04+}, category={command} } -@index{glsxtrabbreviationfont, +@glscommand{glsxtrabbreviationfont, name={\csfmt{gls\-xtr\-abbre\-vi\-a\-tion\-font}}, user1={\margm{text}}, description={used by commands like \cs{gls} to format the \idx{link-text} for (non-regular) abbreviations}, + topics={formattingcommands,abbreviationcommands}, note={\styfmt{glossaries-extra} v1.30+}, category={command} } -@index{GlsXtrExpandedFmt, +@glscommand{GlsXtrExpandedFmt, name={\csfmt{Gls\-Xtr\-Expanded\-Fmt}}, user1={\margm{cs}\margm{text}}, description={fully expands \meta{text} and then does \meta{cs}\margm{expanded text}}, + topics={formattingcommands}, note={\styfmt{glossaries-extra} v1.30+}, category={command} } -@index{GlsXtrStartUnsetBuffering, +@glscommand{GlsXtrStartUnsetBuffering, name={\csfmt{Gls\-Xtr\-Start\-Unset\-Buffer\-ing}}, description={starts buffering calls to \cs{glsunset} + (which is internally used by commands like \cs{gls}) for use in code where the boolean switch causes a problem. The buffer can later be processed and cleared with \cs{GlsXtrStopUnsetBuffering}. The starred form (added to v1.31) avoids duplicate labels in the buffer's internal list}, + topics={entryrefcommands,conditionals}, note={\styfmt{glossaries-extra} v1.30+}, + seealso={GlsXtrForUnsetBufferedList}, category={command} } -@index{GlsXtrStopUnsetBuffering, +@glscommand{GlsXtrStopUnsetBuffering, name={\csfmt{Gls\-Xtr\-Stop\-Unset\-Buffer\-ing}}, - description={unsets (locally with the starred form) - all the entry whose labels are stored in the + description={unsets (locally with the starred form) the + \idx{firstuseflag} of all the entry whose labels are stored in the buffer that was started with - \cs{GlsXtrStartUnsetBuffering} and clears the buffer}, + \cs{GlsXtrStartUnsetBuffering} and then clears the buffer}, + topics={entryrefcommands,conditionals}, note={\styfmt{glossaries-extra} v1.30+}, + seealso={GlsXtrForUnsetBufferedList}, category={command} } -@index{GlsXtrForUnsetBufferedList, +@glscommand{GlsXtrForUnsetBufferedList, name={\csfmt{Gls\-Xtr\-For\-Unset\-Buffered\-List}}, user1 = {\margm{cs}}, description={iterates over @@ -10484,29 +14744,64 @@ been assigned a mapping to a language hook label}, buffer that was started with \cs{GlsXtrStartUnsetBuffering} and implements \meta{cs}\margm{label} at each iteration}, + topics={entryrefcommands,listcommands}, note={\styfmt{glossaries-extra} v1.31+}, category={command} } -@index{glsunset, +@glscommand{glsunset, name={\csfmt{gls\-unset}}, user1 = {\margm{label}}, description={unsets the \idx{firstuseflag} so that the entry is marked as having been used}, + topics={conditionals}, note={\styfmt{glossaries}}, category={command} } -@index{glsreset, +@glscommand{glslocalunset, + name={\csfmt{gls\-local\-unset}}, + user1 = {\margm{label}}, + description={locally unsets the \idx{firstuseflag} so that the entry is +marked as having been used}, + topics={conditionals}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{glsreset, name={\csfmt{gls\-reset}}, user1 = {\margm{label}}, description={resets the \idx{firstuseflag} so that the entry is marked as not used}, + topics={conditionals}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{glslocalreset, + name={\csfmt{gls\-local\-reset}}, + user1 = {\margm{label}}, + description={locally resets the \idx{firstuseflag} so that the entry is +marked as not used}, + topics={conditionals}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{glspatchtabularx, + name={\csfmt{gls\-patch\-tab\-ularx}}, + description={preamble command that will patch the \env{tabularx} + environment to deal with the problem of unsetting the + \idx{firstuseflag} either explicitly with \cs{glsunset} or + implicitly through commands like \cs{gls} (does nothing if + \sty{tabularx} hasn't been loaded)}, + topics={hooks,entryrefcommands}, note={\styfmt{glossaries}}, category={command} } -@index{TrackLangLastTrackedDialect, +@command{TrackLangLastTrackedDialect, name={\csfmt{Track\-Lang\-Last\-Tracked\-Dialect}}, user1={}, description={set by commands like \cs{TrackLocale}}, @@ -10514,7 +14809,7 @@ marked as not used}, category={command} } -@index{TrackedLanguageFromDialect, +@command{TrackedLanguageFromDialect, name={\csfmt{Tracked\-Language\-From\-Dialect}}, user1={\margm{dialect}}, description={expands to the root language associated with the @@ -10523,7 +14818,7 @@ given (\styfmt{tracklang}) dialect label}, category={command} } -@index{DTMdisplaydate, +@command{DTMdisplaydate, name={\csfmt{DTM\-display\-date}}, user1={\margm{year}\margm{month}\margm{day}\margm{dow}}, description={formats the given date where all arguments are @@ -10532,70 +14827,128 @@ given (\styfmt{tracklang}) dialect label}, category={command} } -@index{DTLformatlist, +@command{DTLformatlist, name={\csfmt{DTL\-format\-list}}, user1={\margm{list}}, description={formats a comma-separated list}, - note={\styfmt{datatool-base}}, + note={\styfmt{datatool-base}\texparserdefnote\ v2.28+}, + seealso={ifDTLlistskipempty}, category={command} } -@index{DTLlistformatsep, +@command{DTLlistformatitem, + name={\csfmt{DTL\-list\-format\-item}}, + user1={\margm{element}}, + description={used by \ics{DTLformatlist} to format each + element in the list}, + note={\styfmt{datatool-base}\texparserdefnote\ v2.28+}, + seealso={DTLformatlist}, + category={command} +} + +@command{DTLlistformatsep, name={\csfmt{DTL\-list\-format\-sep}}, user1={}, description={used by \ics{DTLformatlist} to separate items in the list, except for the last pair}, - note={\styfmt{datatool-base}}, + note={\styfmt{datatool-base}\texparserdefnote\ v2.28+}, seealso={DTLformatlist}, category={command} } -@index{DTLlistformatlastsep, +@command{DTLlistformatlastsep, name={\csfmt{DTL\-list\-format\-last\-sep}}, user1={}, description={used by \ics{DTLformatlist} to separate the last two items in the list}, - note={\styfmt{datatool-base}}, + note={\styfmt{datatool-base}\texparserdefnote\ v2.28+}, seealso={DTLformatlist}, category={command} } -@index{DTLlistformatoxford, +@command{DTLlistformatoxford, name={\csfmt{DTL\-list\-format\-oxford}}, user1={}, description={insert before \ics{DTLlistformatlastsep} if the list has three or more items}, - note={\styfmt{datatool-base}}, + note={\styfmt{datatool-base}\texparserdefnote\ v2.28+}, seealso={DTLformatlist}, category={command} } -@index{DTLandname, +@command{DTLandname, name={\csfmt{DTL\-and\-name}}, user1={}, description={used in the definition of \ics{DTLlistformatlastsep}}, - note={\styfmt{datatool-base}}, + note={\styfmt{datatool-base}\texparserdefnote\ v2.28+}, seealso={DTLformatlist}, category={command} } -@index{si, +@command{DTLlistelement, + name={\csfmt{DTL\-list\-element}}, + user1={\margm{list}\margm{index}}, + description={does the \meta{index}th element (starting from 1 for + the first element) in the comma-separated \meta{list}}, + note={\styfmt{datatool-base}\texparserdefnote\ v2.31+}, + seealso={DTLfetchlistelement,ifDTLlistskipempty}, + category={command} +} + +@command{DTLfetchlistelement, + name={\csfmt{DTL\-fetch\-list\-element}}, + user1={\margm{list}\margm{index}\margm{cs}}, + description={fetches the \meta{index}th element (starting from 1 for + the first element) in the comma-separated \meta{list} and stores + it in the command given by \meta{cs}}, + note={\styfmt{datatool-base}\texparserdefnote\ v2.31+}, + seealso={DTLlistelement,ifDTLlistskipempty}, + category={command} +} + +@command{ifDTLlistskipempty, + name={\csfmt{if\-DTL\-list\-skip\-empty}}, + description={conditional that determines whether or not commands + like \cs{DTLformatlist} should skip empty elements}, + note={\styfmt{datatool-base}\texparserdefnote\ v2.31+}, + category={command} +} + +@command{DTLnumitemsinlist, + name={\csfmt{DTL\-num\-items\-in\-list}}, + user1={\margm{list}\margm{cs}}, + description={counts the number of elements in the comma-separated + \meta{list} and stores the value in the command given by \meta{cs}}, + note={\styfmt{datatool-base}\texparserdefnote\ v2.31+}, + seealso={DTLformatlist,DTLlistelement,ifDTLlistskipempty}, + category={command} +} + +@command{DTLifinlist, + name={\csfmt{DTL\-if\-in\-list}}, + user1={\margm{element}\margm{list}\margm{true}\margm{false}}, + description={tests if \meta{element} is in the comma-separated \meta{list}}, + note={\styfmt{datatool-base}\texparserdefnote}, + category={command} +} + +@command{si, name={\csfmt{si}}, user1={\margm{unit}}, description={displays the unit with intelligent formatting}, - note={\styfmt{siunitx}}, + note={\styfmt{siunitx}\texparserdefnote}, category={command} } -@index{ce, +@command{ce, name={\csfmt{ce}}, user1={\margm{formula}}, description={displays the chemical formula}, - note={\styfmt{mhchem}}, + note={\styfmt{mhchem}\texparserdefnote}, category={command} } -@index{textweathersymbol, +@command{textweathersymbol, name={\csfmt{text\-weather\-symbol}}, user1={\margm{number}}, description={displays weather symbol identified by \meta{number}}, @@ -10603,14 +14956,14 @@ has three or more items}, category={command} } -@index{toprule, +@command{toprule, name={\csfmt{top\-rule}}, description={horizontal rule for the top of a \envfmt{tabular}-like environment}, note={\styfmt{booktabs}}, category={command} } -@index{midrule, +@command{midrule, name={\csfmt{mid\-rule}}, description={horizontal rule for divider between header and main content of a \envfmt{tabular}-like environment}, @@ -10618,7 +14971,7 @@ has three or more items}, category={command} } -@index{bottomrule, +@command{bottomrule, name={\csfmt{bottom\-rule}}, description={horizontal rule for the bottom of a \envfmt{tabular}-like environment}, @@ -10626,297 +14979,297 @@ has three or more items}, category={command} } -@index{endhead, +@command{endhead, name={\csfmt{end\-head}}, description={ends the header section}, note={\styfmt{longtable}}, category={command} } -@index{endfoot, +@command{endfoot, name={\csfmt{end\-foot}}, description={ends the footer section}, note={\styfmt{longtable}}, category={command} } -@index{MakeTextLowercase, +@command{MakeTextLowercase, name={\csfmt{MakeTextLowercase}}, user1={\margm{text}}, description={converts \meta{text} to lower case}, - note={\styfmt{textcase}}, + note={\styfmt{textcase}\texparserdefnote}, category={command} } -@index{MakeTextUppercase, +@command{MakeTextUppercase, name={\csfmt{MakeTextUppercase}}, user1={\margm{text}}, - description={converts \meta{text} to upper case}, - note={\styfmt{textcase}}, + description={converts \meta{text} to \idx{uppercase}}, + note={\styfmt{textcase}\texparserdefnote}, category={command} } -@index{NoCaseChange, +@command{NoCaseChange, name={\csfmt{NoCaseChange}}, user1={\margm{text}}, description={prevents \cs{MakeTextUppercase} and \cs{MakeTextLowercase} from converting \meta{text}}, - note={\styfmt{textcase}}, + note={\styfmt{textcase}\texparserdefnote}, category={command} } -@index{MakeUppercase, +@command{MakeUppercase, name={\csfmt{MakeUppercase}}, user1={\margm{text}}, - description={converts \meta{text} to upper case}, - note={kernel command}, + description={converts \meta{text} to \idx{uppercase}}, + note={kernel command\texparserdefnote}, category={command} } -@index{char, +@command{char, name={\csfmt{char}}, user1={\meta{number}}, description={accesses the character identified by \meta{number} (use \code{\csfmt{char}\idx{doublequotecharhex}\meta{hex}} if the number is hexadecimal)}, - note={{}\TeX\ primitive}, + note={{}\TeX\ primitive\texparserdefnote}, category={command} } -@index{number, +@command{number, name={\csfmt{number}}, user1={\meta{value}}, description={expands the given numerical \meta{value} to a base~10 integer number stripping any leading zeros (use \code{\csfmt{char}\idx{doublequotecharhex}\meta{hex}} if the value is hexadecimal)}, - note={{}\TeX\ primitive}, + note={{}\TeX\ primitive\texparserdefnote}, category={command} } -@index{the, +@command{the, name={\csfmt{the}}, user1={\meta{register}}, description={expands \meta{register} to the current value of the register}, - note={{}\TeX\ primitive}, + note={{}\TeX\ primitive\texparserdefnote}, category={command} } -@index{cs.string, +@command{cs.string, name={\csfmt{string}}, user1={\meta{token}}, description={if \meta{token} is a control sequence it expands to the escape character followed by the control sequence name}, - note={{}\TeX\ primitive}, + note={{}\TeX\ primitive\texparserdefnote}, category={command} } -@index{let, +@command{let, name={\csfmt{let}}, user1={\meta{token1}\meta{token2}}, description={assigns \meta{token1} to \meta{token2}}, - note={{}\TeX\ primitive}, + note={{}\TeX\ primitive\texparserdefnote}, category={command} } -@index{u, +@command{u, name={\csfmt{u}}, user1={\margm{character}}, description={puts a breve accent over \meta{character}}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{acute, +@command{acute, name={\csfmt{'}}, user1={\margm{character}}, description={puts an acute accent over \meta{character}}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{umlaut, +@command{umlaut, name={\csfmt{"}}, user1={\margm{character}}, description={puts an umlaut accent over \meta{character}}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{c, +@command{c, name={\csfmt{c}}, user1={\margm{character}}, description={puts a cedilla accent over \meta{character}}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{AA, +@command{AA, name={\csfmt{AA}}, description={produces the \idx!{uppercase} A-ring character \AA}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{aa, +@command{aa, name={\csfmt{aa}}, description={produces the \idx!{lowercase} a-ring character \aa}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{O, +@command{O, name={\csfmt{O}}, description={produces the \idx!{uppercase} O-slash character \O}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{o, +@command{o, name={\csfmt{o}}, description={produces the \idx!{lowercase} o-slash character \o}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{L, +@command{L, name={\csfmt{L}}, description={produces the \idx!{uppercase} L-slash character \L}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{l, +@command{l, name={\csfmt{l}}, description={produces the \idx!{lowercase} l-slash character \l}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{ae, +@command{ae, name={\csfmt{ae}}, description={produces the \idx!{lowercase} \ae-ligature}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{AE, +@command{AE, name={\csfmt{AE}}, description={produces the \idx!{uppercase} \AE-ligature}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{oe, +@command{oe, name={\csfmt{oe}}, description={produces the \idx!{lowercase} \oe-ligature}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{OE, +@command{OE, name={\csfmt{OE}}, description={produces the \idx!{uppercase} \OE-ligature}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{th, +@command{th, name={\csfmt{th}}, description={produces the \idx!{lowercase} thorn \th}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{TH, +@command{TH, name={\csfmt{TH}}, description={produces the \idx!{uppercase} thorn \TH}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{ss, +@command{ss, name={\csfmt{ss}}, description={produces the \idx!{lowercase} eszett \ss}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{SS, +@command{SS, name={\csfmt{SS}}, description={produces the \idx!{uppercase} eszett \SS}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{ng, +@command{ng, name={\csfmt{ng}}, description={produces the \idx!{lowercase} eng \ng}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{NG, +@command{NG, name={\csfmt{NG}}, description={produces the \idx!{uppercase} eng \NG}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{dh, +@command{dh, name={\csfmt{dh}}, description={produces the \idx!{lowercase} eth \dh}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{DH, +@command{DH, name={\csfmt{DH}}, description={produces the \idx!{uppercase} eth \DH}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{dj, +@command{dj, name={\csfmt{dj}}, description={produces the \idx!{lowercase} d-stroke \dj}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{DJ, +@command{DJ, name={\csfmt{DJ}}, description={produces the \idx!{uppercase} d-stroke \DJ}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{textsuperscript, +@command{textsuperscript, name={\csfmt{textsuperscript}}, user1={\margm{text}}, description={displays \meta{text} as a superscript}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{textsubscript, +@command{textsubscript, name={\csfmt{textsubscript}}, user1={\margm{text}}, description={displays \meta{text} as a subscript}, - note={kernel command as from 2015/01/01}, + note={kernel command\texparserdefnote\ as from 2015/01/01}, category={command} } -@index{MakeLowercase, +@command{MakeLowercase, name={\csfmt{MakeLowercase}}, user1={\margm{text}}, description={converts \meta{text} to lower case}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{textsc, +@command{textsc, name={\csfmt{textsc}}, user1={\margm{text}}, description={applies small-caps font to \meta{text}}, @@ -10924,64 +15277,84 @@ number is hexadecimal)}, category={command} } -@index{usepackage, +@command{textsmaller, + name={\csfmt{text\-smaller}}, + user1={\margm{text}}, + description={typesets \meta{text} in a font size that's smaller + than the surrounding text}, + note={\styfmt{relsize}}, + category={command} +} + +@glscommand{glstextup, + name={\csfmt{gls\-text\-up}}, + user1={\margm{text}}, + description={typesets \meta{text} in an upright font (used to +cancel the effect of \cs{textsc} in abbreviation styles that use +\ics{glsabbrvscfont})}, + note={\styfmt{glossaries} v3.09a+}, + topics={abbreviationcommands,formattingcommands}, + category={command} +} + +@command{usepackage, name={\csfmt{use\-pack\-age}}, user1={\oargm{options}\margm{name}\oargm{min version}}, description={loads the package identified by \meta{name}}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{RequirePackage, +@command{RequirePackage, name={\csfmt{Require\-Pack\-age}}, user1={\oargm{options}\margm{name}\oargm{min version}}, description={loads the package identified by \meta{name} from within another package}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{ProvidesPackage, +@command{ProvidesPackage, name={\csfmt{Provides\-Pack\-age}}, user1={\margm{name}\oargm{version}}, description={identifies a package}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{DeclareOption, +@command{DeclareOption, name={\csfmt{Declare\-Opt\-ions}}, user1={\margm{name}\margm{code}}, description={declares an option with the given \meta{name}}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{DeclareOption*, +@command{DeclareOption*, name={\csfmt{Declare\-Opt\-ions*}}, user1={\margm{code}}, description={indicates what to do with unknown options}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{ProcessOptions, +@command{ProcessOptions, name={\csfmt{Process\-Opt\-ions}}, description={processes supplied options}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{PackageError, +@command{PackageError, name={\csfmt{Pack\-age\-Err\-or}}, user1={\margm{name}\margm{code}\margm{help}}, description={generates an error message for the package identified by \meta{name}}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{cs.color, +@command{cs.color, name={\csfmt{color}}, user1={\oargm{model}\margm{spec}}, description={switches the current font colour}, @@ -10989,7 +15362,7 @@ by \meta{name}}, category={command} } -@index{textcolor, +@command{textcolor, name={\csfmt{textcolor}}, user1={\oargm{model}\margm{spec}\margm{text}}, description={typesets \meta{text} in the given colour}, @@ -10997,14 +15370,14 @@ by \meta{name}}, category={command} } -@index{cjkname, +@examplecommand{cjkname, name={\csfmt{cjkname}}, user1={\margm{CJK characters}}, description={example command}, category={command} } -@index{citation, +@command{citation, name={\csfmt{citation}}, user1={\margm{label}}, description={written to the \ext{aux} file on each occurrence of @@ -11013,102 +15386,111 @@ by \meta{name}}, category={command} } -@index{cite, +@command{cite, name={\csfmt{cite}}, user1={\margm{label}}, description={cross-reference a bibliographic citation}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{bibliography, +@command{bibliography, name={\csfmt{bibliography}}, user1={\margm{file list}}, description={display bibliography created by \BibTeX}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{refstepcounter, +@command{refstepcounter, name={\csfmt{refstepcounter}}, user1={\margm{counter name}}, description={increments the given counter in a manner compatible with the \cs{label} cross-referencing mechanism}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{label, +@command{label, name={\csfmt{label}}, user1={\margm{id}}, description={creates a label that can be referenced with \ics{ref} or \ics{pageref}}, seealso={ref,pageref}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{pageref, +@command{pageref, name={\csfmt{pageref}}, user1={\margm{id}}, description={cross-reference the page where \cs{label}\margm{id} occurred}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{ref, +@command{ref, name={\csfmt{ref}}, user1={\margm{id}}, description={cross-reference the location where \cs{label}\margm{id} occurred}, seealso={label}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{autoref, +@command{autoref, name={\csfmt{autoref}}, user1={\margm{id}}, description={cross-reference with textual tag inferred from the associated counter}, seealso={label}, - note={\sty{hyperref}}, + note={\styfmt{hyperref}}, category={command} } -@index{par, +@command{par, name={\csfmt{par}}, description={paragraph break}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{hyperlink, +@command{hyperlink, name={\csfmt{hyperlink}}, user1={\margm{target name}\margm{text}}, description={create a hyperlink to \meta{target name} with the given \meta{text}}, - note={\styfmt{hyperref}}, + note={\styfmt{hyperref}\texparserdefnote}, category={command} } -@index{hypertarget, +@command{hypertarget, name={\csfmt{hypertarget}}, user1={\margm{target name}\margm{text}}, description={create a hypertarget with the given \meta{target name} and the displayed \meta{text}}, + note={\styfmt{hyperref}\texparserdefnote}, + category={command} +} + +@command{texorpdfstring, + name={\csfmt{texorpdfstring}}, + user1={\margm{\TeX\ code}\margm{PDF text}}, + description={does \meta{PDF text} if used in a PDF bookmark, + otherwise does \meta{\TeX\ code}}, note={\styfmt{hyperref}}, category={command} } -@index{cs.hyperref, +@command{cs.hyperref, name={\csfmt{hyperref}}, note={\styfmt{hyperref}}, category={command} } -@index{cs.hyperref.ext, +@command{cs.hyperref.ext, parent={cs.hyperref}, name={\csfmt{hyperref}}, user1={\margm{URL}\margm{category}\margm{name}\margm{text}}, @@ -11118,7 +15500,7 @@ name} and the displayed \meta{text}}, category={command} } -@index{cs.hyperref.int, +@command{cs.hyperref.int, parent={cs.hyperref}, name={\csfmt{hyperref}}, user1={\oargm{label}\margm{text}}, @@ -11131,7 +15513,7 @@ name} and the displayed \meta{text}}, category={command} } -@index{@currentlabelname, +@command{@currentlabelname, name={\csfmt{@current\-label\-name}}, user1={}, description={used to store the current title information for the next instance @@ -11140,7 +15522,7 @@ name} and the displayed \meta{text}}, category={command} } -@index{@currentHref, +@command{@currentHref, name={\csfmt{@current\-H\-ref}}, user1={}, description={used to store the current anchor for the next instance @@ -11150,231 +15532,544 @@ name} and the displayed \meta{text}}, } -@index{glsrefentry, +@glscommand{glsrefentry, name={\csfmt{gls\-ref\-entry}}, user1={\margm{label}}, description={when used with \styopt{entrycounter} or \styopt{subentrycounter} may be used to cross-reference the entry's number in the glossary list with \cs{ref}}, + topics={crossrefcommands}, seealso={ref}, note={\styfmt{glossaries} v3.0+}, category={command} } -@index{glsxtrpageref, +@glscommand{glsxtrpageref, name={\csfmt{gls\-xtr\-page\-ref}}, user1={\margm{label}}, description={when used with \styopt{entrycounter} or \styopt{subentrycounter} may be used to cross-reference the entry's number in the glossary list with \cs{pageref}}, seealso={pageref}, + topics={crossrefcommands}, note={\styfmt{glossaries-extra} v1.11}, category={command} } -@index{glsxtrglossentry, +@glscommand{glsxtrglossentry, name={\csfmt{gls\-xtr\-gloss\-entry}}, user1={\margm{label}}, - description={displays the given entry name including a hypertarget (if + description={displays the given entry \field{name} including a hypertarget (if \sty{hyperref} has been loaded) as the destination for commands like \cs{gls}}, + topics={linkcommands,fieldrefcommands}, note={\styfmt{glossaries-extra} v1.21}, category={command} } -@index{glsxtrglossentryother, +@glscommand{glsxtrglossentryother, name={\csfmt{gls\-xtr\-gloss\-entry\-other}}, user1={\margm{header}\margm{label}\margm{field}}, description={like \gls{glsxtrglossentry} but uses the value given in the supplied internal \meta{field} where \meta{header} is the code to use in the header (leave empty for default)}, + topics={linkcommands,fieldrefcommands}, note={\styfmt{glossaries-extra} v1.22+}, category={command} } -@index{glsshowtarget, +@glscommand{glsshowtarget, name={\csfmt{gls\-show\-target}}, user1={\margm{label}}, description={used to show the target name when the -\styopt[showtargets]{debug} option is on}, + \styopt[showtargets]{debug} option is on}, + topics={debugging,linkcommands}, note={\styfmt{glossaries} v4.32+}, category={command} } -@index{GlsEntryCounterLabelPrefix, +@glscommand{showgloparent, + name={\csfmt{show\-glo\-parent}}, + user1={\margm{label}}, + description={interrupts the document build and shows the value of + the \field{parent} field in the transcript}, + topics={debugging,fieldrefcommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{showglolevel, + name={\csfmt{show\-glo\-level}}, + user1={\margm{label}}, + description={interrupts the document build and shows the entry's + hierarchical level in the transcript}, + topics={debugging,fieldrefcommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{showgloname, + name={\csfmt{show\-glo\-name}}, + user1={\margm{label}}, + description={interrupts the document build and shows the value of + the \field{name} field in the transcript}, + topics={debugging,fieldrefcommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{showglosort, + name={\csfmt{show\-glo\-sort}}, + user1={\margm{label}}, + description={interrupts the document build and shows the value of + the \field{sort} field in the transcript}, + topics={debugging,fieldrefcommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{showglosymbol, + name={\csfmt{show\-glo\-symbol}}, + user1={\margm{label}}, + description={interrupts the document build and shows the value of + the \field{symbol} field in the transcript}, + topics={debugging,fieldrefcommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{showglosymbolplural, + name={\csfmt{show\-glo\-symbol\-plural}}, + user1={\margm{label}}, + description={interrupts the document build and shows the value of + the \field{symbolplural} field in the transcript}, + topics={debugging,fieldrefcommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{showgloshort, + name={\csfmt{show\-glo\-short}}, + user1={\margm{label}}, + description={interrupts the document build and shows the value of + the \field{short} field in the transcript}, + topics={debugging,fieldrefcommands,abbreviationcommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{showglolong, + name={\csfmt{show\-glo\-long}}, + user1={\margm{label}}, + description={interrupts the document build and shows the value of + the \field{long} field in the transcript}, + topics={debugging,fieldrefcommands,abbreviationcommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{showgloloclist, + name={\csfmt{show\-glo\-loc\-list}}, + user1={\margm{label}}, + description={interrupts the document build and shows the value of + the \field{loclist} field in the transcript}, + topics={debugging,fieldrefcommands,loclistcommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{showgloflag, + name={\csfmt{show\-glo\-flag}}, + user1={\margm{label}}, + description={interrupts the document build and shows the value of + the \idx{firstuseflag} in the transcript}, + topics={debugging,fieldrefcommands,conditionals}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{showglodesc, + name={\csfmt{show\-glo\-desc}}, + user1={\margm{label}}, + description={interrupts the document build and shows the value of + the \field{description} field in the transcript}, + topics={debugging,fieldrefcommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{showglodescplural, + name={\csfmt{show\-glo\-desc\-plural}}, + user1={\margm{label}}, + description={interrupts the document build and shows the value of + the \field{descriptionplural} field in the transcript}, + topics={debugging,fieldrefcommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{showglotext, + name={\csfmt{show\-glo\-text}}, + user1={\margm{label}}, + description={interrupts the document build and shows the value of + the \field{text} field in the transcript}, + topics={debugging,fieldrefcommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{showgloplural, + name={\csfmt{show\-glo\-plural}}, + user1={\margm{label}}, + description={interrupts the document build and shows the value of + the \field{plural} field in the transcript}, + topics={debugging,fieldrefcommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{showglofirst, + name={\csfmt{show\-glo\-first}}, + user1={\margm{label}}, + description={interrupts the document build and shows the value of + the \field{first} field in the transcript}, + topics={debugging,fieldrefcommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{showglofirstpl, + name={\csfmt{show\-glo\-firstpl}}, + user1={\margm{label}}, + description={interrupts the document build and shows the value of + the \field{firstplural} field in the transcript}, + topics={debugging,fieldrefcommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{showglotype, + name={\csfmt{show\-glo\-type}}, + user1={\margm{label}}, + description={interrupts the document build and shows the value of + the \field{type} field in the transcript}, + topics={debugging,fieldrefcommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{showglocounter, + name={\csfmt{show\-glo\-counter}}, + user1={\margm{label}}, + description={interrupts the document build and shows the value of + the \field{counter} field in the transcript}, + topics={debugging,fieldrefcommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{showglouseri, + name={\csfmt{show\-glo\-useri}}, + user1={\margm{label}}, + description={interrupts the document build and shows the value of + the \field{user1} field in the transcript}, + topics={debugging,fieldrefcommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{showglouserii, + name={\csfmt{show\-glo\-userii}}, + user1={\margm{label}}, + description={interrupts the document build and shows the value of + the \field{user2} field in the transcript}, + topics={debugging,fieldrefcommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{showglouseriii, + name={\csfmt{show\-glo\-useriii}}, + user1={\margm{label}}, + description={interrupts the document build and shows the value of + the \field{user3} field in the transcript}, + topics={debugging,fieldrefcommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{showglouseriv, + name={\csfmt{show\-glo\-useriv}}, + user1={\margm{label}}, + description={interrupts the document build and shows the value of + the \field{user4} field in the transcript}, + topics={debugging,fieldrefcommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{showglouserv, + name={\csfmt{show\-glo\-userv}}, + user1={\margm{label}}, + description={interrupts the document build and shows the value of + the \field{user5} field in the transcript}, + topics={debugging,fieldrefcommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{showglouservi, + name={\csfmt{show\-glo\-uservi}}, + user1={\margm{label}}, + description={interrupts the document build and shows the value of + the \field{user6} field in the transcript}, + topics={debugging,fieldrefcommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{showglofield, + name={\csfmt{show\-glo\-field}}, + user1={\margm{entry label}\margm{internal field}}, + description={interrupts the document build and shows the value of + the given field in the transcript}, + topics={debugging,fieldrefcommands}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{showgloglossaries, + name={\csfmt{show\-glo\-glossaries}}, + description={interrupts the document build and shows the list + of all non-ignored glossary types in the transcript}, + topics={debugging,glossrefs}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{showglossarytitle, + name={\csfmt{show\-glos\-sary\-title}}, + user1={\margm{type}}, + description={interrupts the document build and shows the title + of the given glossary in the transcript}, + topics={debugging,glossrefs}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{showglossarycounter, + name={\csfmt{show\-glos\-sary\-counter}}, + user1={\margm{type}}, + description={interrupts the document build and shows the default + counter for the given glossary in the transcript}, + topics={debugging,glossrefs}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{showglossaryentries, + name={\csfmt{show\-glos\-sary\-entries}}, + user1={\margm{type}}, + description={interrupts the document build and shows the list of + entry labels for the given glossary in the transcript}, + topics={debugging,glossrefs}, + note={\styfmt{glossaries}}, + category={command} +} + +@glscommand{GlsEntryCounterLabelPrefix, name={\csfmt{Gls\-Entry\-Counter\-Label\-Prefix}}, description={used as a prefix in the \cs{label} command automatically implemented by the \styopt{entrycounter} and \styopt{subentrycounter} options}, + topics={hooks,crossrefcommands}, note={\styfmt{glossaries} v4.38+}, category={command} } -@index{GlsXtrStandaloneGlossaryType, +@glscommand{GlsXtrStandaloneGlossaryType, name={\csfmt{Gls\-Xtr\-Stand\-alone\-Glossary\-Type}}, description={expands to the label for \gls{currentglossary} within \gls{glsxtrglossentry} and \gls{glsxtrglossentryother}}, + topics={hooks,glossrefs,standalonestyles}, note={\styfmt{glossaries-extra} v1.31+}, category={command} } -@index{GlsXtrStandaloneSubEntryItem, +@glscommand{GlsXtrStandaloneSubEntryItem, name={\csfmt{Gls\-Xtr\-Stand\-alone\-Sub\-Entry\-Item}}, user1 = {\margm{label}}, description={used within \gls{glsxtrglossentry} and \gls{glsxtrglossentryother} to display sub-item labels}, + topics={hooks,glossarystylecommands}, note={\styfmt{glossaries-extra} v1.31+}, category={command} } -@index{GlsXtrStandaloneEntryName, +@glscommand{GlsXtrStandaloneEntryName, name={\csfmt{Gls\-Xtr\-Stand\-alone\-Entry\-Name}}, user1 = {\margm{label}}, description={used within \gls{glsxtrglossentry} to display the name (with a hypertarget, if supported)}, + topics={hooks,glossarystylecommands,fieldrefcommands,linkcommands}, note={\styfmt{glossaries-extra} v1.37+}, category={command} } -@index{GlsXtrStandaloneEntryOther, +@glscommand{GlsXtrStandaloneEntryOther, name={\csfmt{Gls\-Xtr\-Stand\-alone\-Entry\-Other}}, user1 = {\margm{label}\margm{field}}, description={used within \gls{glsxtrglossentryother} to display the given field value (with a hypertarget, if supported)}, + topics={hooks,glossarystylecommands,fieldrefcommands,linkcommands}, note={\styfmt{glossaries-extra} v1.37+}, category={command} } -@index{glsresetentrycounter, +@glscommand{glsresetentrycounter, name={\csfmt{gls\-reset\-entry\-counter}}, description={resets the \counter{glossaryentry} counter if the \styopt{entrycounter} setting is on}, + topics={hooks,glossarystylecommands,assigncommands,crossrefcommands}, note={\styfmt{glossaries}}, category={command} } -@index{setentrycounter, +@glscommand{setentrycounter, name={\csfmt{set\-entry\-counter}}, user1={\oargm{prefix}\margm{counter}}, description={sets up the entry's associated counter and prefix required by \cs{glshypernumber}}, + topics={glossarystylecommands,assigncommands,loclistcommands,linkcommands}, note={\styfmt{glossaries}}, category={command} } -@index{setupglossaries, +@glscommand{setupglossaries, name={\csfmt{set\-up\-glossaries}}, user1 = {\margm{\keyvallist}}, description={applies the base \styfmt{glossaries} options that are allowed to be changed after the package has loaded}, + topics={assigncommands}, note={\styfmt{glossaries}}, category={command} } -@index{glossariesextrasetup, +@glscommand{glossariesextrasetup, name={\csfmt{glossaries\-extra\-setup}}, user1 = {\margm{\keyvallist}}, description={applies the extension \styfmt{glossaries-extra} options that are allowed to be changed after the package has loaded}, + topics={assigncommands}, note={\styfmt{glossaries-extra}}, category={command} } -@index{glstreepredesc, +@glscommand{glstreepredesc, name={\csfmt{gls\-tree\-pre\-desc}}, user1={\margm{label}}, description={separator used before the description for the \glostyle{tree} styles}, + topics={glossarystylecommands,separatorcommands,formattingcommands}, note={\styfmt{glossary-tree} v4.26+}, category={command} } -@index{glstreenonamedesc, +@glscommand{glstreenonamedesc, name={\csfmt{gls\-tree\-no\-name\-desc}}, user1={\margm{label}}, description={displays the pre-description separator, the description and the post-description hook for the \glostyle{treenoname} styles}, + topics={glossarystylecommands,separatorcommands,formattingcommands}, note={\styfmt{glossaries-extra-stylemods} v1.31+}, category={command} } -@index{glsfmtshort, +@glscommand{glsfmtshort, name={\csfmt{gls\-fmt\-short}}, user1={\margm{label}}, description={provided for use in section or caption titles, this displays the short form of the given abbreviation}, + topics={formattingcommands,entryrefcommands,fieldrefcommands,abbreviationcommands,capheadcommands}, note={\styfmt{glossaries-extra}}, category={command} } -@index{glsfmtlong, +@glscommand{glsfmtlong, name={\csfmt{gls\-fmt\-long}}, user1={\margm{label}}, description={provided for use in section or caption titles, this displays the long form of the given abbreviation}, + topics={formattingcommands,entryrefcommands,fieldrefcommands,abbreviationcommands,capheadcommands}, note={\styfmt{glossaries-extra}}, category={command} } -@index{glsfmtfull, +@glscommand{glsfmtfull, name={\csfmt{gls\-fmt\-full}}, user1={\margm{label}}, description={provided for use in section or caption titles, this -displays the full form of the given abbreviation}, + displays the full form of the given abbreviation (using the inline + style that matches \cs{glsxtrfull})}, + topics={formattingcommands,entryrefcommands,abbreviationcommands,capheadcommands}, note={\styfmt{glossaries-extra}}, category={command} } -@index{glsfmtname, +@glscommand{glsfmtname, name={\csfmt{gls\-fmt\-name}}, user1={\margm{label}}, description={provided for use in section or caption titles, this displays the given entry's name}, + topics={formattingcommands,entryrefcommands,fieldrefcommands,capheadcommands}, note={\styfmt{glossaries-extra}}, category={command} } -@index{glsfmtfirst, +@glscommand{glsfmtfirst, name={\csfmt{gls\-fmt\-first}}, user1={\margm{label}}, description={provided for use in section or caption titles, this displays the given entry's \field{first} field}, + topics={formattingcommands,entryrefcommands,fieldrefcommands,capheadcommands}, note={\styfmt{glossaries-extra}}, category={command} } -@index{glsfmttext, +@glscommand{glsfmttext, name={\csfmt{gls\-fmt\-text}}, user1={\margm{label}}, description={provided for use in section or caption titles, this displays the given entry's \field{text} field}, + topics={formattingcommands,entryrefcommands,fieldrefcommands,capheadcommands}, note={\styfmt{glossaries-extra}}, category={command} } -@index{theHentrycounter, +@glscommand{theHentrycounter, name={\csfmt{the\-H\-entry\-counter}}, user1={}, description={when indexing, this is set to the \csfmt{theH}\meta{counter} command corresponding to the current indexing counter (or, if undefined, \csfmt{the}\meta{counter})}, + topics={glossarystylecommands,linkcommands}, note={\styfmt{glossaries}}, category={command} } -@index{tableofcontents, +@command{tableofcontents, name={\csfmt{table\-of\-contents}}, - description={displays the table of contents (by reading in the + description={displays the \glsxtrlong{toc} (by reading in the \ext{toc} file) and then opens \ext{toc} file to allow the sectioning commands to write to it}, - note={kernel command}, + note={kernel command\texparserdefnote}, category={command} } -@index{underline, +@command{underline, name={\csfmt{under\-line}}, user1={\margm{text}}, description={underlines the given text}, @@ -11382,7 +16077,7 @@ sectioning commands to write to it}, category={command} } -@index{ul, +@command{ul, name={\csfmt{ul}}, user1={\margm{text}}, description={underlines the given text}, @@ -11390,11 +16085,11 @@ sectioning commands to write to it}, category={command} } -@index{ding, +@command{ding, name={\csfmt{ding}}, user1={\margm{number}}, description={displays the symbol associated with the given number}, - note={\styfmt{pifont}}, + note={\styfmt{pifont}\texparserdefnote}, category={command} } @@ -11402,14 +16097,14 @@ sectioning commands to write to it}, name = {example terms} } -@entry{ex1.duck, +@exampleentry{ex1.duck, parent={exampleterms}, name={duck}, description={a waterbird with webbed feet}, identifier={animal} } -@entry{ex1.goose, +@exampleentry{ex1.goose, parent={exampleterms}, name={goose}, plural={geese}, @@ -11418,7 +16113,7 @@ sectioning commands to write to it}, identifier={animal} } -@entry{ex2.duck, +@exampleentry{ex2.duck, parent={exampleterms}, name={Duck (noun)}, first={duck (quack, quack)}, @@ -11428,7 +16123,7 @@ sectioning commands to write to it}, identifier={animal} } -@entry{ex2.goose, +@exampleentry{ex2.goose, parent={exampleterms}, name={Goose (noun, pl.\ geese)}, first={goose (honk, honk)}, @@ -11440,7 +16135,7 @@ sectioning commands to write to it}, identifier={animal} } -@entry{ex.fleuron, +@exampleentry{ex.fleuron, parent={exampleterms}, name = {fleuron}, symbol = {\ding{167}}, @@ -11448,7 +16143,7 @@ sectioning commands to write to it}, description = {typographic ornament} } -@entry{ex.pi, +@exampleentry{ex.pi, parent={exampleterms}, name = {Archimedes' constant}, symbol = {\ensuremath{\pi}}, @@ -11456,68 +16151,68 @@ sectioning commands to write to it}, description = {ratio of a circle's circumference to its diameter} } -@entry{ex.thetai, +@exampleentry{ex.thetai, parent = {exampleterms}, name = {theta parameter}, symbol = {\ensuremath{\theta_i}}, description = {one of the model parameters} } -@abbreviation{ex.tug, +@exampleabbreviation{ex.tug, parent={exampleterms}, category = {longshortem}, short = {TUG}, long = {\TeX\ Users Group} } -@abbreviation{ex.ascii, +@exampleabbreviation{ex.ascii, short = {ascii}, long = {American Standard Code for Information Interchange}, category={shortsc} } -@abbreviation{ex.svm, +@exampleabbreviation{ex.svm, parent={exampleterms}, short = {SVM}, long = {support vector machine} } -@abbreviation{ex.ssl, +@exampleabbreviation{ex.ssl, parent={exampleterms}, category = {markwordsexample}, short = {SSL}, long = {Secure Sockets Layer} } -@abbreviation{ex.xml, +@exampleabbreviation{ex.xml, parent={exampleterms}, category = {taggingexample}, short = {XML}, long = {e\itag{x}tensible \itag{m}arkup \itag{l}anguage} } -@abbreviation{ex.dante, +@exampleabbreviation{ex.dante, parent={exampleterms}, category = {discardperiodexample}, short = {DANTE e.V.}, long = {Deutschsprachige Anwendervereinigung \TeX\ e.V.} } -@abbreviation{ex.gp, +@exampleabbreviation{ex.gp, parent={exampleterms}, category = {discardperiodexample}, short = {G.P.}, long = {General Practitioner} } -@abbreviation{ex2.gp, +@exampleabbreviation{ex2.gp, parent={exampleterms}, category = {initialism}, short = {GP}, long = {General Practitioner} } -@abbreviation{ex.rna, +@exampleabbreviation{ex.rna, parent={exampleterms}, short = {RNA}, long = {ribonukleins\"aure}, @@ -11525,107 +16220,107 @@ sectioning commands to write to it}, category = {abbrvtrans} } -@entry{ex.length, +@exampleentry{ex.length, parent={exampleterms}, name = {length}, symbol = {\si{\metre}}, description = {measurement between two points} } -@entry{ex.area, +@exampleentry{ex.area, parent={exampleterms}, name = {area}, symbol = {\si{\metre\squared}}, description = {measurement of a surface} } -@symbol{ex2.length, +@examplesymbol{ex2.length, parent={exampleterms}, description = {length}, name = {\si{\metre}} } -@symbol{ex2.area, +@examplesymbol{ex2.area, parent={exampleterms}, description = {area}, name = {\si{\metre\squared}} } -@symbol{ex.deriv, +@examplesymbol{ex.deriv, parent={exampleterms}, description = {derivative}, name = {\ensuremath{\derivfn{x}}}, user1 = {derivfn} } -@index{hom.bow1, +@exampleindex{hom.bow1, name={bow}, description={(rhymes with toe)}, category = {homograph} } -@entry{hom.bowknot, +@exampleentry{hom.bowknot, parent={hom.bow1}, description = {a knot tied with two loops and loose ends}, category = {homograph} } -@entry{hom.bowweapon, +@exampleentry{hom.bowweapon, parent={hom.bow1}, description = {a weapon for shooting arrows, made of curved wood joined at both ends with taut string}, category = {homograph} } -@index{hom.bow2, +@exampleindex{hom.bow2, name={bow}, description={(rhymes with cow)}, category = {homograph} } -@index{hom.bowbend, +@exampleindex{hom.bowbend, parent={hom.bow2}, description={bend head or upper body}, category = {homograph} } -@index{hom.bowpressure, +@exampleindex{hom.bowpressure, parent={hom.bow2}, description={give in to pressure}, category = {homograph} } -@index{hom.bow3, +@exampleindex{hom.bow3, name={bow}, description={(also bows) the front end of a ship}, category = {homograph} } -@index{hom.glossary, +@exampleindex{hom.glossary, name={glossary}, category = {homograph} } -@entry{hom.glossarycol, +@exampleentry{hom.glossarycol, parent = {hom.glossary}, description = {collection of glosses}, category = {homograph} } -@entry{hom.glossarylist, +@exampleentry{hom.glossarylist, parent = {hom.glossary}, description = {list of technical words}, category = {homograph} } -@entry{hier.animal, +@exampleentry{hier.animal, name = {animal}, description = {living organism with a nervous system and sense organs that can move independently}, category = {hierarchical} } -@entry{hier.bird, +@exampleentry{hier.bird, parent = {hier.animal}, name = {bird}, description = {warm-blooded egg-laying animal with feathers, wings @@ -11633,14 +16328,14 @@ sectioning commands to write to it}, category = {hierarchical} } -@entry{hier.duck, +@exampleentry{hier.duck, parent = {hier.bird}, name = {duck}, description={a waterbird with webbed feet}, category = {hierarchical} } -@entry{hier.goose, +@exampleentry{hier.goose, parent = {hier.bird}, name = {goose}, description = {a large waterbird with a long neck, short legs, @@ -11648,34 +16343,34 @@ sectioning commands to write to it}, category = {hierarchical} } -@entry{hier.mineral, +@exampleentry{hier.mineral, name = {mineral}, description = {natural inorganic substance}, category = {hierarchical} } -@entry{hier.calcite, +@exampleentry{hier.calcite, parent = {hier.mineral}, name = {calcite}, description = {a carbonate mineral}, category = {hierarchical} } -@entry{hier.quartz, +@exampleentry{hier.quartz, parent = {hier.mineral}, name = {quartz}, description = {hard mineral consisting of silica}, category = {hierarchical} } -@entry{hier.amethyst, +@exampleentry{hier.amethyst, parent = {hier.quartz}, name = {amethyst}, description = {a purple type of quartz}, category = {hierarchical} } -@entry{hier.citrine, +@exampleentry{hier.citrine, parent = {hier.quartz}, name = {citrine}, description = {a form of quartz with a colour ranging @@ -11683,7 +16378,7 @@ from pale yellow to brown due to ferric impurities}, category = {hierarchical} } -@entry{ex2.amethyst, +@exampleentry{ex2.amethyst, name = {amethyst}, description = {a purple type of quartz}, symbol = {\ce{SiO2}}, @@ -11692,7 +16387,7 @@ from pale yellow to brown due to ferric impurities}, category = {standalone} } -@entry{ex3.goose, +@exampleentry{ex3.goose, name={goose}, user3={G}, user4={G}, @@ -11702,7 +16397,7 @@ from pale yellow to brown due to ferric impurities}, category={standalone} } -@entry{ex3.duck, +@exampleentry{ex3.duck, name={duck}, user3={D}, user4={D}, @@ -11710,7 +16405,7 @@ from pale yellow to brown due to ferric impurities}, category={standalone} } -@entry{standalone.pi, +@exampleentry{standalone.pi, name = {\ensuremath{\pi}}, description = {Archimedes' constant}, user3={glssymbols}, @@ -11718,7 +16413,7 @@ from pale yellow to brown due to ferric impurities}, category = {standalone} } -@entry{standalone.area, +@exampleentry{standalone.area, name = {\ensuremath{A}}, description = {area}, user3={glssymbols}, @@ -11726,7 +16421,7 @@ from pale yellow to brown due to ferric impurities}, category = {standalone} } -@entry{standalone.radius, +@exampleentry{standalone.radius, name = {\ensuremath{r}}, description = {radius}, user3={glssymbols}, @@ -11734,7 +16429,7 @@ from pale yellow to brown due to ferric impurities}, category = {standalone} } -@entry{standalone.circumference, +@exampleentry{standalone.circumference, name = {\ensuremath{C}}, user3={glssymbols}, user4={C}, diff --git a/Master/texmf-dist/source/support/bib2gls/src/bib2gls.pod b/Master/texmf-dist/source/support/bib2gls/src/bib2gls.pod index b1d0342978b..c1f41701adc 100644 --- a/Master/texmf-dist/source/support/bib2gls/src/bib2gls.pod +++ b/Master/texmf-dist/source/support/bib2gls/src/bib2gls.pod @@ -92,6 +92,24 @@ Treat B<\citation> as an ignored record. Don't check for instances of B<\citation> in the B<.aux> file (default). +=item B<--warn-non-bib-fields> + +Warn if internal non-bib fields are found in the .bib file. + +=item B<--no-warn-non-bib-fields> + +Don't warn if internal non-bib fields are found in the .bib file. +The use of these internal fields can cause unexpected results, so +only use this option if you have taken appropriate precautions. + +=item B<--warn-unknown-entry-types> + +Warn if any unknown entry types are found in the .bib file. + +=item B<--no-warn-unknown-entry-types> + +Don't warn if any unknown entry types are found in the .bib file. + =item B<--merge-wrglossary-records> Merge an entry's B records for the same page locations. diff --git a/Master/texmf-dist/source/support/bib2gls/src/bib2gls.tex b/Master/texmf-dist/source/support/bib2gls/src/bib2gls.tex index fcb6fd34bae..f7ba9c27ef0 100644 --- a/Master/texmf-dist/source/support/bib2gls/src/bib2gls.tex +++ b/Master/texmf-dist/source/support/bib2gls/src/bib2gls.tex @@ -2,12 +2,13 @@ % arara: bib2gls: {group: on} if missing("glstex") || changed("bib") || found("log", "Warning: Glossary entry") % arara: bibtex % arara: lualatex if changed("glstex") || missing("toc") -% arara: bib2gls: {group: on} +% arara: bib2gls: {group: on, packages: [mfirstuc-english]} % arara: lualatex % arara: lualatex if found ("log", "Rerun") \documentclass[titlepage=false,index=totoc,bibliography=totoc, fontsize=12pt,captions=tableheading]{scrreprt} +\usepackage[autooneside=false]{scrlayer-scrpage} \usepackage{pifont} % Need support for extended characters @@ -26,6 +27,8 @@ \newcommand{\insularG}{{\freeserif\char"A77D}} \newcommand{\insularg}{{\freeserif\char"1D79}} \newcommand{\longs}{\char"017F} +\newcommand{\Wynn}{\char"01F7} +\newcommand{\wynn}{\char"01BF} \usepackage[x11names]{xcolor} \usepackage{alltt} @@ -37,6 +40,7 @@ \usepackage{amsmath} \usepackage{accents} \usepackage{tikz} +\usepackage{tcolorbox} \usepackage{datetime2} \usepackage{listings} \usepackage[hidelinks]{hyperref} @@ -59,6 +63,7 @@ \glsxtrprovidestoragekey{note}{}{} \glsxtrprovidestoragekey{package}{}{} +\glsxtrprovidestoragekey{nametitle}{}{} \providecommand{\omicron}{o} @@ -98,6 +103,7 @@ \newcommand{\glsxtrpostnamecounter}{\space counter} \newcommand*{\csfmtfont}[1]{\texttt{#1}} +\newcommand*{\csfmtcolourfont}[1]{\texttt{\textcolor{cs}{#1}}} \newcommand*{\csfmt}[1]{% \texorpdfstring @@ -105,9 +111,47 @@ {\string\\#1}% } -\setabbreviationstyle[common]{short-nolong} +\newcommand{\texparserdefprefix}{} +\newcommand{\texparserdefnotetarget}{% + \raisebox{2ex}{\hypertarget{\texparserdefprefix texparserdef}{}}% + \textsuperscript{*}Indicates command is + recognised by \bibgls's interpreter although it may have + a slightly different implementation. +} +\newcommand{\texparserdefnote}{\hyperlink{\texparserdefprefix texparserdef}{*}} + +\setabbreviationstyle{long-short-sc} +\setabbreviationstyle[common]{short-sc-nolong} + +\glsxtrprovidestoragekey{unsortedprogeny}{}{} \GlsXtrLoadResources[ + entry-type-aliases={ + bibglscommand=dualindexentry, + mainglscommand=spawndualindexentry, + glscommand=spawnentry, + abbrvstylecommand=spawnentry, + glostylecommand=spawnentry, + resourceoption=dualindexentry, + packageoption=dualindexentry, + field=dualindexentry, + entrytype=dualindexentry, + switch=dualindexentry, + samplefile=dualindexentry, + examplecommand=dualindexentry, + examplesymbol=symbol, + exampleabbreviation=abbreviation, + exampleentry=entry + }, + field-aliases={topics=adoptparents}, + replicate-fields={name=nametitle,progeny=unsortedprogeny}, + field-case-change={nametitle=title}, + interpret-fields={nametitle}, + no-case-change-cs={fieldfmt,abbrstylefmt,glostylefmt}, + short-case-change={lc}, + dual-short-case-change={lc}, + unknown-entry-alias={index}, + save-original-entrytype, label-prefix={idx.}, save-loclist=false, sort={letternumber-nocase}, @@ -115,11 +159,20 @@ type={index}, dual-field={dualid}, match-action={add}, - match={{category}={.*field}}, + match-op={or}, + match={ + {category}={.*field}, + {original entrytype}={.*(gls|style)command}, + {original entrytype}={.*option}, + {original entrytype}={abbreviationstyle}, + {original entrytype}={glossarystyle}, + }, dual-prefix={}, dual-type={main}, combine-dual-locations={primary}, selection={recorded and deps and see}, + symbol-sort-fallback={name}, + sort-label-list={progeny:letter-nocase:glsxtrentryparentname}, strip-missing-parents, save-child-count ] @@ -146,7 +199,8 @@ \newcommand{\frontmatter}{% \clearpage\pagenumbering{roman}% - \pagestyle{headings}% + \pagestyle{scrheadings}% + \automark[section]{chapter}% \mainmatterfalse } \newcommand{\mainmatter}{% @@ -155,6 +209,27 @@ \mainmattertrue } +\newcommand{\rightleftmark}[2]{\ifstrequal{#1}{#2}{#1}{#1: #2}} +\makeatletter +\newcommand{\setsecdepth}{\@ifstar\s@setsecdepth\@setsecdepth} +\newcommand{\s@setsecdepth}[1]{% + \setcounter{secnumdepth}{#1}% + \automark[section]{chapter}% + \let\@rightmark\rightleftmark +} +\newcommand{\@setsecdepth}[1]{% + \setcounter{secnumdepth}{#1}% + \ifnum#1 > 0 + \automark[section]{chapter}% + \else + \automark{chapter}% + \fi + \let\@rightmark\@secondoftwo +} +\makeatother + +\newtcolorbox{important}{colback=red!5!white,colframe=red} + \newcommand{\bibgls}{\appfmt{bib2gls}} \newcommand*{\BibTeX}{\hologo{BibTeX}} @@ -308,19 +383,29 @@ \newcommand{\glsxtrpostdescenvironment}{environment} \newcommand*{\abbrstyle}[1]{% - \texorpdfstring{\idx{#1}}{#1}% + \texorpdfstring{\idx{abbrstyle.#1}}{#1}% +} + +\newcommand*{\topicabbrstyle}[1]{% + %\texorpdfstring{\idx[prefix=topic.]{abbrstyle.#1}}{#1}% + \texorpdfstring{\idx{abbrstyle.#1}}{#1}% } \newcommand*{\glostyle}[1]{% \texorpdfstring{\idx{glostyle.#1}}{#1}% } +\newcommand*{\topicglostyle}[1]{% + %\texorpdfstring{\idx[prefix=topic.]{glostyle.#1}}{#1}% + \texorpdfstring{\idx{glostyle.#1}}{#1}% +} + \newcommand*{\iglostyle}[1]{% \texorpdfstring{\idx[noindex=false]{glostyle.#1}}{#1}% } \newcommand*{\catattr}[1]{% - \texorpdfstring{\idx{#1}}{#1}% + \texorpdfstring{\idx{catattr.#1}}{#1}% } \newcommand*{\counter}[1]{% @@ -502,11 +587,22 @@ \renewenvironment{theglossary}% {% \setlength{\glsdescwidth}{\dimexpr\linewidth-\maxnamewidth-4\tabcolsep}% - \begin{tabular}{l>{\raggedright}p{\glsdescwidth}}% + \begin{longtable}{l>{\raggedright}p{\glsdescwidth}}% }% - {\end{tabular}}% + {\end{longtable}}% \renewcommand*{\glossaryheader}{% - \bfseries Field & \bfseries Description\tabularnewline}% + \noalign{\xdef\dofieldtabcaption{% + \noexpand\caption\expandonce\fieldtablelotcaption + {\expandonce\fieldtablecaption}}}% + \dofieldtabcaption + \fieldtablecaptionlabel + \fieldtablepostcaption\tabularnewline + \bfseries Field & \bfseries Description\tabularnewline + \endfirsthead + \caption*{\fieldtablecaption\ (Continued)}\tabularnewline + \bfseries Field & \bfseries Description\tabularnewline + \endhead + }% \renewcommand*{\glsgroupheading}[1]{}% \renewcommand{\glossentry}[2]{% \glsadd{##1}% @@ -529,11 +625,36 @@ \newlength\maxnamewidth -\newcommand*{\printfields}[1]{% +%\printfields[postcaption]{category list}[lot caption]{caption}{label} +\newcommand*{\printfields}[2][]{% + \ifstrempty{#1}% + {% + \def\fieldtablepostcaption{}% + }% + {% + \def\fieldtablepostcaption{% + \tabularnewline + \multicolumn{2}{p{\linewidth}}{#1}% + \tabularnewline + }% + }% + \def\fieldcategories{#2}% + \innerprintfields +} + +\newcommand*{\innerprintfields}[3][]{% \printunsrtglossary*[style=fieldstyle]{% \renewcommand*\glossarysection[2][]{}% + \ifstrempty{#1}% + {% + \def\fieldtablelotcaption{}% + }% + {% + \def\fieldtablelotcaption{[#1]}% + }% + \def\fieldtablecaption{#2}% + \def\fieldtablecaptionlabel{\label{#3}}% \setlength{\maxnamewidth}{0pt}% - \def\fieldcategories{#1}% \let\printunsrtglossaryentryprocesshook\fieldhook }% } @@ -550,6 +671,24 @@ }% } +\newcommand{\summarysubheaderfont}[1]{\textbf{\sffamily #1}} + +\newcommand{\summaryoptionhandler}[1]{% + \par\smallskip\nopagebreak + \par\noindent\hspace{1em}% + \code{\gls{#1}\glsxtrifhasfield{useri}{#1}{=\glscurrentfieldvalue}{}}% + \glsxtrifhasfield{note}{#1}% + {\nolinebreak\hfill\mbox{\footnotesize\glscurrentfieldvalue}}% + {}% + \nopagebreak\par\hangindent2em\noindent\hspace{2em}\Glossentrydesc{#1}% +} + +\newrobustcmd{\donote}[1]{% + \glsxtrifhasfield{note}{#1}% + {\nolinebreak\hfill\mbox{\normalfont\footnotesize\glscurrentfieldvalue}}% + {}% +} + \newglossarystyle{commandsummary}% {% \setglossarystyle{index}% @@ -564,51 +703,62 @@ \glstreeitem \glstarget{cs.##1}{\strut}% \glsxtrifhasfield{dualid}{##1}% {% - \glshyperlink{\glscurrentfieldvalue}% + {% + \let\csfmtfont\csfmtcolourfont + \glshyperlink{\glscurrentfieldvalue}% + }% \glsxtrifhasfield{useri}{##1}{\glscurrentfieldvalue}{}% - \glsxtrifhasfield{note}{##1}% - {\nolinebreak\hfill\mbox{\footnotesize\glscurrentfieldvalue}}% - {}% + \donote{##1}% \nopagebreak\par\hspace{10pt}% \Glossentrydesc{\glscurrentfieldvalue}% \ifglshasdesc{\glscurrentfieldvalue}{\@. }{}% }% {% - \gls[hyper=false]{##1}% + {\let\csfmtfont\csfmtcolourfont\gls[hyper=false]{##1}}% \glsxtrifhasfield{useri}{##1}{\glscurrentfieldvalue}{}% - \glsxtrifhasfield{note}{##1}% - {\nolinebreak\hfill\mbox{\footnotesize\glscurrentfieldvalue}}% - {}% + \donote{##1}% \nopagebreak\par\hspace{10pt}% \Glossentrydesc{##1}% \ifglshasdesc{##1}{\@. }{}% }% - \GlsXtrIfHasNonZeroChildCount{##1}% - {This command has \glscurrentfieldvalue\ forms:}{}% + \GlsXtrIfFieldEqStr{originalentrytype}{##1}{glscommand}% + {% + % Does this entry have options? + \GlsXtrIfHasNonZeroChildCount{##1}% + {% + \glspar\medskip\glspar + \summarysubheaderfont{Options:} + \glsxtrfieldforlistloop{##1}{childlist}{\summaryoptionhandler}% + }% + {}% + }% + {% + \GlsXtrIfHasNonZeroChildCount{##1}% + {This command has \glscurrentfieldvalue\ forms:}{}% + }% + %\listtopics{##1}% \par\medskip }% \renewcommand*{\subglossentry}[3]{% \glstreesubitem \glstarget{cs.##2}{\strut}% \glsxtrifhasfield{dualid}{##2}% {% - \glshyperlink{\glscurrentfieldvalue}% + {% + \let\csfmtfont\csfmtcolourfont + \glshyperlink{\glscurrentfieldvalue}% + }% \glsxtrifhasfield{useri}{##2}{\glscurrentfieldvalue}{}% - \glsxtrifhasfield{note}{##2}% - {\nolinebreak\hfill\mbox{\footnotesize\glscurrentfieldvalue}}% - {}% + \donote{##2}% \nopagebreak\par\hspace{20pt}% - \Glossentrydesc{\glscurrentfieldvalue}% - \ifglshasdesc{\glscurrentfieldvalue}{.}{}% + \ifglshasdesc{\glscurrentfieldvalue}% + {\Glossentrydesc{\glscurrentfieldvalue}.}{}% }% {% - \gls[hyper=false]{##2}% + {\let\csfmtfont\csfmtcolourfont\gls[hyper=false]{##2}}% \glsxtrifhasfield{useri}{##2}{\glscurrentfieldvalue}{}% - \glsxtrifhasfield{note}{##2}% - {\nolinebreak\hfill\mbox{\footnotesize\glscurrentfieldvalue}}% - {}% + \donote{##2}% \nopagebreak\par\hspace{20pt}% - \Glossentrydesc{##2}% - \ifglshasdesc{##2}{.}{}% + \ifglshasdesc{##2}{\Glossentrydesc{##2}.}{}% }% \par\medskip }% @@ -617,22 +767,226 @@ \newcommand*{\commandsummaryhook}[1]{% \edef\currentcategory{\glscategory{#1}}% \ifdefstring{\currentcategory}{command}% - {}% + {% + \glsxtrifhasfield*{progenitor}{#1}% + {\printunsrtglossaryskipentry}{}% + }% {\printunsrtglossaryskipentry}% } \newcommand*{\printcommandsummary}{% \printunsrtglossary*[type=index, style=commandsummary, - title={Command Summary} + title={General Command Summary}, ]% {% + \def\glossarypreamble{This is an alphabetical summary of + commands referenced in this document. See the + relevent user guides for further details.\endgraf\medskip + \texparserdefnotetarget}% \let\printunsrtglossaryentryprocesshook\commandsummaryhook \let\csref\cs \glsxtrlocalsetgrouptitle{glssymbols}{}% }% } +\newcommand{\topicxrhandler}[1]{% + \glsxtrifhasfield{parent}{#1}% + {% + \let\field\fieldfmt + \hyperlink + {topic.\glscurrentfieldvalue}% + {\glsentryname{\glscurrentfieldvalue}}% + }% + {% + \hyperlink{topic.#1}{\glsentryname{#1}}% + }% +} + +% \iffirstprogeny{entry label}{topic label}{true}{false} +\makeatletter +\newcommand{\iffirstprogeny}[2]{% + \let\doiffirstprogeny\@secondoftwo + \def\firstprogeny{}% + \glsxtrifhasfield*{unsortedprogeny}{#1}% + {% + \edef\suppliedprogeny{#2}% + \@for\thisprogeny:=\glscurrentfieldvalue\do{% + \let\firstprogeny\thisprogeny + \ifdefequal{\thisprogeny}{\suppliedprogeny}% + {\let\doiffirstprogeny\@firstoftwo}% + {\let\doiffirstprogeny\@secondoftwo}% + \@endfortrue + }% + }% + {}% + \doiffirstprogeny +} +\makeatother + +\newcommand{\ifstylecommand}[1]{% + \letcs\doifstylecommand{@firstoftwo}% + \GlsXtrIfFieldEqStr{originalentrytype}{#1}{abbrvstylecommand}% + {}% + {% + \GlsXtrIfFieldEqStr{originalentrytype}{#1}{glostylecommand}% + {}% + {\global\letcs\doifstylecommand{@secondoftwo}}% + }% + \doifstylecommand +} + +\newcommand{\listtopics}[1]{% + \glsxtrifhasfield{progeny}{#1}% + {% + \ifdefequal\glscurrentfieldvalue\glscurrententrylabel + {}% + {% + \par\nopagebreak\medskip\par\footnotesize + \sloppy + \ifstylecommand{#1}% + {\summarysubheaderfont{Styles:}}% + {\summarysubheaderfont{Topics:}}% + \space + \let\DTLlistformatitem\topicxrhandler + \DTLformatlist{\glscurrentfieldvalue}.\par + }% + }% + {}% +} + +\newglossarystyle{commandtopic}% +{% + \setglossarystyle{index}% + %\renewcommand*{\glossaryheader}{\raggedright}% + \renewcommand*{\glsgroupheading}[1]{}% + \renewcommand*{\glossentry}[2]{% + \glsfieldfetch{##1}{nametitle}{\thisvalue}% + \section*{% + \raisebox{2ex}% + {\pdfbookmark[1]{\thisvalue}{topic.##1}\hypertarget{topic.##1}{}}% + \glsdisp{##1}{\thisvalue}\donote{##1}% + }% + \expandafter\sectionmark\expandafter{\thisvalue}% + \ifglshasdesc{##1}{\Glossentrydesc{##1}.}{}% + \glsxtrifhasfield{seealso}{##1}% + {% + \par\smallskip + \emph{See also:} + \let\DTLlistformatitem\topicxrhandler + \DTLformatlist{\glscurrentfieldvalue}.% + \par\medskip\par + }% + {}% + }% + \renewcommand*{\subglossentry}[3]{% + \glsifcategory{##2}{command}% + {% + \glsdohypertarget{topic.##2}{\strut}% + \glsxtrifhasfield*{progenitor}{##2}% + {\let\originallabel\glscurrentfieldvalue}% + {\def\originallabel{##2}}% +% + \ifstylecommand{##2}% + {% + \iffirstprogeny{\originallabel}{##2}% + {\letcs\dothisentry{@firstofone}}% + {% + \glspar + \ifdefempty\firstprogeny + {% + {\let\csfmtfont\csfmtcolourfont\gls[noindex]{\originallabel}}% + \glsxtrifhasfield{useri}{##2}{\glscurrentfieldvalue}{}% + }% + {% + {\let\csfmtfont\csfmtcolourfont + \hyperlink{topic.\firstprogeny}{\glsentryname{\firstprogeny}}}% + \glsxtrifhasfield{useri}{##2}{\glscurrentfieldvalue}{}% + \glsxtrifhasfield{parent}{\firstprogeny}% + {\hfill + {\footnotesize\emph{see} \hyperlink{topic.\glscurrentfieldvalue}% + {\glsentryname{\glscurrentfieldvalue}}.}} + {}% + }% + \letcs\dothisentry{@gobble}% + }% + }% + {\letcs\dothisentry{@firstofone}}% + \dothisentry + {% + \par\smallskip\par + % hyperlink to index: + {\let\csfmtfont\csfmtcolourfont\gls[format=glsignore]{\originallabel}}% + \glsxtrifhasfield{useri}{##2}{\glscurrentfieldvalue}{}% + \glsxtrifhasfield{note}{##2}% + {\nolinebreak\hfill\mbox{\footnotesize\glscurrentfieldvalue}}% + {}% + \nopagebreak\par\smallskip\par\nopagebreak + \ifglshasdesc{##2}{\Glossentrydesc{##2}.}{}% + % Topics + \listtopics\originallabel + \par\smallskip + }% + }% + {% + \glsfieldfetch{##2}{nametitle}{\thisvalue}% + \subsection*{% + \raisebox{2ex}% + {\hypertarget{topic.##2}{}\pdfbookmark[2]{\thisvalue}{topic.##2}}% + \glsdisp{##2}{\thisvalue}\donote{##2}% + }% + \expandafter\subsectionmark\expandafter{\thisvalue}% + \ifglshasdesc{##2}{\Glossentrydesc{##2}.\glspar\nopagebreak\smallskip}{}% + }% + }% +} + +\newcommand*{\commandtopichook}[1]{% + \glsxtrifhasfield*{progenitor}{#1}% + {}% + {% + \GlsXtrIfFieldEqStr*{originalentrytype}{#1}{topic}% + {}% + {% + \glsxtrifhasfield*{parent}{#1}% + {% + \GlsXtrIfFieldEqStr*{originalentrytype}{\glscurrentfieldvalue}{topic}% + {}% + {\printunsrtglossaryskipentry}% + }% + {\printunsrtglossaryskipentry}% + }% + }% +} + +\newcommand*{\printcommandtopic}{% + \setsecdepth*{0}% + \automark[subsection]{section}% + \printunsrtglossary*[type=index, + style=commandtopic, + title={Summary by Topic of Glossary Commands}, + label={sec:topics}, + nogroupskip, + nonumberlist + ]% + {% + \def\texparserdefprefix{topic.}% + \def\glossarypreamble{This is a summary of commands provided + by \styfmt{glossaries}, \styfmt{glossaries-extra} and + their supplementary packages that may be useful to + \bibgls\ users. Commands specific to other indexing methods + aren't listed unless they've been referenced in this manual. + See the appropriate user guides for further details. + \endgraf\medskip + \texparserdefnotetarget}% + \let\abbrstyle\topicabbrstyle + \let\glostyle\topicglostyle + \let\printunsrtglossaryentryprocesshook\commandtopichook + \let\csref\cs + }% + \setsecdepth{0}% +} + \newglossarystyle{styoptsummary}% {% \setglossarystyle{mcolindex}% @@ -701,6 +1055,8 @@ {\glsadd{entry.#2}\glsxtrglossentry{entry.#2}}% } +\newcommand{\entrydef}[1]{\glsadd{entry.#1}\glsxtrglossentry{entry.#1}} + \newcommand*{\atentry}[2][]{% \texorpdfstring {\gls[#1]{entry.#2}}% @@ -953,14 +1309,16 @@ first \LaTeX\ run due to the unknown references being replaced with ?? which can be significantly shorter than the actual text produced when the reference is known. -Note that \bibgls\ is a Java application, and requires at least Java~7 -(although the latest version is recommended). Additionally, -\sty{glossaries-extra} must be at least version 1.12. -(Although again the latest version is recommended.) -This application was developed in response to the question -\qt{\href{http://tex.stackexchange.com/q/342544}{Is there a program for -managing glossary tags?}} on \TeX\ on StackExchange~\cite{tex.sx}. The \ext{bib} -file can be managed in an application such as JabRef. +Note that \bibgls\ is a Java application, and requires at least +Java~8.\footnote{The \code{List.sort} method used to sort the +entries was only introduced to Java~8.} Additionally, +\sty{glossaries-extra} must be at least version 1.12. (Although +the latest version is recommended.) This application was +developed in response to the question +\qt{\href{http://tex.stackexchange.com/q/342544}{Is there a program +for managing glossary tags?}} on \TeX\ on +StackExchange~\cite{tex.sx}. The \ext{bib} file can be managed in an +application such as JabRef. If you already have a \ext{tex} file containing entry definitions using commands like \gls{newglossaryentry} @@ -1191,6 +1549,283 @@ application (so the resource option list would need it's best to avoid this hybrid method unless you have a particular set of \idx{xindy} rules that can't be replicated with \bibgls. +\section{Logical Divisions: \field{type} vs \field{group} vs \field{parent}} +\label{sec:logicaldivisions} + +If you have a document with many terms that need listing, it's +likely that you may want to divide the terms into separate blocks or +units for easier reading. There are three fields that are used +for this. +\begin{description} +\item[\field{type}] The highest division is the glossary to which +the entry belongs. The glossary must first be defined (see +\sectionref{sec:newglossary}) with an associated label used to +identify it. The title is assigned to the glossary when it is +defined or it can be overridden with the \printglossopt{title} key. +The glossary is displayed using \cs{printunsrtglossary} and the +title is placed in a sectioning command by default. + +\begin{important} +\bibgls\ does not provide any means of sorting glossary types. If +you use \ics{printunsrtglossaries} the order will be according to +the order in which the glossaries were defined. You may use +\cs{printunsrtglossary} to list individual glossaries in your own +preferred order. +\end{important} + +\item[\field{group}] The entries within a glossary can form groups +as a by-product of the sorting method. This must be enabled with the +\longarg{group} switch and isn't available for the sort methods +listed in \tableref{tab:sortoptionsnosort}. The group label is +stored in the \field{group} field. This is an internal field that +typically shouldn't be set in the \ext{bib} file. + +You can specify your own custom groups but if you do so you must +ensure that the terms are ordered in such a way that they are +gathered according to group. This is typically done by splitting the +glossary into blocks using a separate \gls{GlsXtrLoadResources} with +the \csopt{group} option set. You control the order of the groups by +your ordering of \gls{GlsXtrLoadResources}. The group title can be +assigned using \gls{glsxtrsetgrouptitle} within the document. + +\begin{important} +\bibgls\ does not sort by group title. At most it can sort by the +group label (by changing the \csopt{sort-field}) but this is usually +an indication that you actually have a hierarchical glossary and you +ought to be using the \field{parent} field instead. (Compare +\exfile{sample-textsymbols.tex} and +\exfile{sample-textsymbols2.tex}.) +\end{important} + +\item[\field{parent}] An entry may have one or more sub-entries. +Most of the sort methods will produce a hierarchical ordering that +ensures that the sub-entries are listed immediately after their +parent entry. The parent entry is identified by the \field{parent} +field which should contain the parent's label. + +\begin{important} +\bibgls\ sorts the parent and child entries using the same +comparator. The sort methods listed +in \tableref{tab:sortoptionsnosort} disregard the hierarchical +level, which can result in child entries becoming detached from +their parent entry. The other methods sort hierarchically using +the same comparator but take the hierarchical level into account. +\end{important} + +\end{description} + +Suppose you have a mixture of terms, abbreviations and symbols, then +you might want to have three glossaries that are listed in the table +of contents. In this case, you use the \field{type} field or the +\field{type} resource option. The ordering of the glossaries is +determined by the ordering of the \cs{printunsrtglossary} +commands within the document. For example: +\begin{codeenv} +\cs{printunsrtglossary} +\cs{printunsrtglossary}\oarg{\printglossopt[abbreviations]{type}} +\cs{printunsrtglossary}\oarg{\printglossopt[symbols]{type}} +\end{codeenv} + +Suppose that your list of terms spans many pages and you feel it +would be helpful to the reader to split it up into letter groups +then you would need to run \bibgls\ with the \longarg{group} switch +and use a glossary style that supports letter groups for that +glossary. For example: +\begin{codeenv} +\cs{printunsrtglossary}\oarg{\printglossopt[indexgroup]{style}} +\end{codeenv} + +Suppose that your list of symbols consists of pictographs, Latin characters +and Greek characters and you want them grouped together +in that order. Then you would use a separate +\gls{GlsXtrLoadResources} for each block and assign your own custom +group. This means ensuring that each \idx{resourceset} only selects +the terms for that group. The simplest way of doing this is to +have a separate \ext{bib} file for each set. For example: +\begin{codeenv} +\gls{glsxtrsetgrouptitle}\marg{pictographs}\marg{Pictographs} +\gls{glsxtrsetgrouptitle}\marg{latinsymbols}\marg{Latin Characters} +\gls{glsxtrsetgrouptitle}\marg{greeksymbols}\marg{Greek Characters} +\gls{GlsXtrLoadResources}\oarg{ + \csopt[generalsymbols]{src},\comment{data in generalsymbols.bib} + \csopt[pictographs]{group}, + \csopt[symbols]{type} +} +\gls{GlsXtrLoadResources}\oarg{ + \csopt[latinsymbols]{src},\comment{data in latinsymbols.bib} + \csopt[latin]{group}, + \csopt[symbols]{type} +} +\gls{GlsXtrLoadResources}\oarg{ + \csopt[greeksymbols]{src},\comment{data in greeksymbols.bib} + \csopt[greek]{group}, + \csopt[symbols]{type} +} +\end{codeenv} + +Suppose instead that you have many of these logical blocks and you +want them ordered according to the block title. In this case you +have a hierarchical glossary and you need to use the \field{parent} +field. You then need to select an appropriate \idx{glossarystyle}. + +If you only want to have a single \ext{bib} file that contains all +your entries and you want to share it across multiple documents then +the most flexible approach is to use custom fields and entry types +that can be aliased according to the needs of the +\idxpl{resourceset}. + +For example, the file \filefmt{entries.bib}: +\begin{codeenv} +\comment{Encoding: UTF-8} +\strut +\atentryfmt{indexplural}\marg{latin,\field{text}=\marg{Latin character}} +\atentryfmt{indexplural}\marg{greek,\field{text}=\marg{Greek character}} +\atentryfmt{indexplural}\marg{pictograph} +\strut +\atentry{symbol}\marg{fx, + \field{name}=\marg{\cs{ensuremath}\marg{f(x)}}, + \field{description}=\marg{function of \idx{mshiftchar}x\idx{mshiftchar}}, + \fieldfmt{identifier}=\marg{latin} +} +\strut +\atentry{symbol}\marg{f\idx{aposchar}x, + \field{name}={\cs{ensuremath}\marg{f\idx{aposchar}(x)}}, + \field{description}=\marg{derivative of \cs{gls}\marg{fx}}, + \fieldfmt{identifier}=\marg{latin} +} +\strut +\atentry{symbol}\marg{pi, + \field{name}=\marg{\cs{ensuremath}\marg{\cs{pi}}}, + \field{description}=\marg{ratio of circumference to diameter}, + \fieldfmt{identifier}=\marg{greek} +} +\strut +\atentry{symbol}\marg{heart, + \field{name}=\marg{\cs{ensuremath}\marg{\ics{heartsuit}}}, + \field{description}=\marg{heart}, + \fieldfmt{identifier}=\marg{pictograph} +} +\strut +\atentry{symbol}\marg{diamond, + \field{name}=\marg{\cs{ensuremath}\marg{\ics{diamondsuit}}}, + \field{description}=\marg{diamond}, + \fieldfmt{identifier}=\marg{pictograph} +} +\strut +\atentry{abbreviation}\marg{html, + \field{short}=\marg{html}, + \field{long}=\marg{hypertext markup language}, + \fieldfmt{identifier}=\marg{markuplanguage} +} +\strut +\atentry{abbreviation}\marg{xml, + \field{short}=\marg{xml}, + \field{long}=\marg{extensible markup language}, + \fieldfmt{identifier}=\marg{markuplanguage} +} +\strut +\atentry{entry}\marg{duck, + \field{name}=\marg{duck}, + \field{description}=\marg{a waterbird with webbed feet}, + \fieldfmt{identifier}=\marg{animal} +} +\strut +\atentry{entry}\marg{parrot, + \field{name}=\marg{parrot}, + \field{description}=\marg{mainly tropical bird with bright plumage}, + \fieldfmt{identifier}=\marg{animal} +} +\end{codeenv} +This has a custom field \fieldfmt{identifier}. This will be ignored +by \bibgls\ unless defined or aliased in the document. + +Here's an example document that creates three glossary types (the +default \code{main} glossary and the glossaries created with the +\styopt{abbreviations} and \styopt{symbols} options). They are +listed in the order of \cs{printunsrtglossary} and their titles are +added to the table of contents. + +The custom \fieldfmt{identifier} fields are ignored for the +main and abbreviation glossaries, but they are aliased for the +symbols to the \field{group} field. Since I've split the symbols +glossary into blocks with each block only containing entries that +have the same \field{group} value, this isn't a problem. It also +won't trigger a warning with \longarg{warn-non-bib-fields} as it's +being aliased rather than set in the \ext{bib} file. The blocks +appear in the same order as the corresponding \gls{GlsXtrLoadResources} +commands. The title for each block is provided in the document +using \gls{glsxtrsetgrouptitle}. +\begin{codeenv} +\cmd{documentclass}\marg{article} +\strut +\cmd{usepackage}\oarg{\styopt{record},\styopt{abbreviations},\styopt{symbols}}\marg{glossaries-extra} +\strut +\cs{renewcommand}\marg{\gls{GlsXtrDefaultResourceOptions}}\marg{ + \csopt[all]{selection},\csopt[entries]{src},\csopt[false]{save-locations}} +\strut +\gls{GlsXtrLoadResources}\oarg{\csopt[main]{type},\csopt[entrytype=entry]{match}} +\gls{GlsXtrLoadResources}\oarg{\csopt[abbreviations]{type}, + \csopt[entrytype=abbreviation]{match}} +\strut +\gls{glsxtrsetgrouptitle}\marg{pictograph}\marg{Pictographs} +\gls{GlsXtrLoadResources}\oarg{\csopt[symbols]{type}, + \csopt[identifier=\field{group}]{field-aliases}, + \csopt[\field{group}=pictograph]{match}} +\strut +\gls{glsxtrsetgrouptitle}\marg{latin}\marg{Latin Characters} +\gls{GlsXtrLoadResources}\oarg{\csopt[symbols]{type}, + \csopt[identifier=\field{group}]{field-aliases}, + \csopt[\field{group}=latin]{match}} +\strut +\gls{glsxtrsetgrouptitle}\marg{greek}\marg{Greek Characters} +\gls{GlsXtrLoadResources}\oarg{\csopt[symbols]{type}, + \csopt[identifier=\field{group}]{field-aliases}, + \csopt[\field{group}=greek]{match}} +\strut +\cmd{begin}\marg{document} +\cs{tableofcontents} +\cs{printunsrtglossary}\oarg{\printglossopt[abbreviations]{type}} +\cs{printunsrtglossary} +\cs{printunsrtglossary}\oarg{\printglossopt[symbols]{type},\printglossopt[\glostyle{treegroup}]{style}} +\cmd{end}\marg{document} +\end{codeenv} + +In the above example document, the symbols list is divided into +three groups, listed in the order: Pictographs, Latin characters and +Greek characters. If you want these titles ordered alphabetically +then you need a hierarchical structure instead. This can be obtained +by aliasing the custom \fieldfmt{identifier} field to +\field{parent}: +\begin{codeenv} +\cmd{documentclass}\marg{article} +\strut +\cmd{usepackage}\oarg{\styopt{record},\styopt[topic]{stylemods},\styopt{abbreviations},\styopt{symbols}}\marg{glossaries-extra} +\strut +\cs{renewcommand}\marg{\gls{GlsXtrDefaultResourceOptions}}\marg{\comment{} + \csopt[all]{selection},\csopt[entries]{src},\csopt[false]{save-locations}} +\strut +\gls{GlsXtrLoadResources}\oarg{\csopt[main]{type},\csopt[entrytype=entry]{match}} +\gls{GlsXtrLoadResources}\oarg{\csopt[abbreviations]{type}, + \csopt[entrytype=abbreviation]{match}} +\strut +\gls{GlsXtrLoadResources}\oarg{\csopt[symbols]{type}, + \csopt[identifier=\field{parent}]{field-aliases}, + \csopt[entrytype=symbol,entrytype=indexplural]{match}} +\strut +\cmd{begin}\marg{document} +\cs{tableofcontents} +\cs{printunsrtglossary}\oarg{\printglossopt[abbreviations]{type}} +\cs{printunsrtglossary} +\cs{printunsrtglossary}\oarg{\printglossopt[symbols]{type},\printglossopt[\glostyle{topic}]{style}} +\cmd{end}\marg{document} +\end{codeenv} +The style used for the symbols list is now \glostyle{topic} rather +than \glostyle{treegroup}. This results in a slightly different +appearance. You can select the most appropriate style according to +your needs (see the gallery of predefined +styles~\cite{glossarystylesgallery}). The topic ordering is now: +Greek characters, Latin characters and Pictographs. + \section{Defining a New Glossary} \label{sec:newglossary} @@ -1287,7 +1922,10 @@ at this point. \item[Stage 2 (Parsing)] All the \iext{bib} files associated with the \idx{resourceset} are parsed. Entry aliases (identified by -\csopt{entry-type-aliases}) are performed. Preamble information (provided by +\csopt{entry-type-aliases}) are performed. The +\hyperref[sec:multientry]{multi-entry types}, such as +\atentry{bibtexentry} and \atentry{progenitor}, spawn their +associated primary entries. Preamble information (provided by \atentry{preamble}) is saved but is not interpreted at this stage. The transcript will show the message \begin{alltt} @@ -1308,39 +1946,73 @@ the corresponding set of \ext{bib} files: \item Field checks and modifications are performed: \begin{itemize} \item field aliases are performed (\csopt{field-aliases}); + \item ignored fields (identified by \csopt{ignore-fields}) are removed; + \item case-changes (for example, \csopt{short-case-change}) are - performed, except for the \field{name} field; + performed, except for the \field{name} field and fields identified + with \csopt{field-case-change}; + \item suffixes are appended if required (for example, with \csopt{short-plural-suffix}); + \item field replications are made (\csopt{replicate-fields}), and any of the above case-change or suffixes required on the replicated fields are performed; - \item the \field{group} field is assigned if \csopt{group} is set; + + \item the \field{group} field is assigned if \csopt[\meta{label}]{group} + is set; + \item any variables (identified by \atentry{string}) are expanded (if not already done in any of the previous steps); + \item any fields that have been identified by \csopt{bibtex-contributor-fields} are converted; + + \item any fields that have been identified with + \csopt{encapsulate-fields} are converted; + + \item any fields that have been identified with + \csopt{encapsulate-fields*} are converted; + \item any fields that must be converted into a label form (\csopt{labelify} or \csopt{labelify-list}) are processed; + \item any fields identified by \csopt{dependency-fields} are parsed for dependent entries; + \item any fields whose value must be a label are interpreted if \csopt{interpret-label-fields} is set; + \item the \field{parent} field is adjusted according to the label prefix settings (\csopt{label-prefix} etc); + \item \ics{makefirstuc} protection is applied according to \longarg{mfirstuc-protection} and \longarg{mfirstuc-math-protection}; + \item fields are parsed for commands like \cs{gls} or \cs{glshyperlink} and also checked for nested links if \longarg{nested-link-check} is set; + \item the \field{description} field is adjusted according to \csopt{strip-trailing-nopost}; + \item end punctuation is checked according to \csopt{check-end-punctuation}; + \item \field{name} case-change is performed if - \csopt{name-case-change} is set. + \csopt{name-case-change} is set; + + \item if \csopt[true]{copy-alias-to-see} the \field{alias} is copied + to the \field{see} field; + + \item general field case changes identified by + \csopt{field-case-change} are performed; + + \item any fields that have been identified with + \csopt{interpret-fields} are replaced with their interpreted + values. \end{itemize} \item The dual version (if appropriate) is created. \item Records are added to the entry's location list (or transferred @@ -1610,10 +2282,10 @@ for \csopt{src} and determine if the corresponding \ext{bib} file or files are newer than the \ext{tex} file. It's not possible to determine if the location lists require -updating, just as it's not possible to do this for the table of -contents, list of figures, list of tables etc. (Or, if it could be -implemented, the required code would make the document build far more -complicated.) +updating, just as it's not possible to do this for the +\idx{toc}, list of figures, list of tables etc. (Or, if it could +be implemented, the required code would make the document build far +more complicated.) In general, the basic algorithm is: \begin{enumerate} @@ -1778,6 +2450,18 @@ and will expand some things that aren't expanded by \LaTeX\ that would be expanded by \LaTeX\ (such as commands defined in terms of complicated internals). +If you get a \idx{StackOverflowError} while a field is being +interpreted (with a long stack trace that contains repeated file names and +line numbers) then it's likely you have an infinite loop. For +example, this can be triggered if a field contains \csfmt{foo} that +has been defined as: +\begin{codeenv} +\cs{def}\cmd{foo}\marg{\cmd{foo}} +\end{codeenv} +This will obviously also cause an error in the \LaTeX\ document as +well (unless the document has a different definition that doesn't +have this unbounded recursion). + The \file{texparserlib.jar} library is not a \TeX\ engine and there are plenty of situations where it doesn't work. In particular, in this case it's being used in a fragmented context without knowing @@ -1825,7 +2509,7 @@ Glsentryshort,Glsentrylong,Glsentryfirst,Glsentrysymbol,% Glsentryuseri,Glsentryuserii,Glsentryuseriii,Glsentryuseriv,% Glsentryuserv,Glsentryuservi,Glsentryplural,Glsentryfirstplural,Glsentryshortpl,% Glsentrylongpl,Glsentrysymbolplural,bibglshashchar,bibglsunderscorechar,% -bibglsdollarchar,bibglsampersandchar,bibglscircumchar,glsbackslash,glstildechar,% +bibglsdollarchar,bibglsampersandchar,bibglscircumchar,glsbackslash,glstildechar,glsopenbrace,glsclosebrace,glspercentchar,% glsxtrusefield,Glsxtrusefield,GLSxtrusefield,glsentrytitlecase,% glsxtrhiernamesep,glsxtrhiername,Glsxtrhiername,GlsXtrhiername,% GLSxtrhiername,GLSXTRhiername} @@ -1856,7 +2540,7 @@ rule that recognises these Unicode characters (for example, \csopt[\cs{glshex}2694 \string< \cs{glshex}2693 \string< \cs{glshex}26BD]{sort-rule}). \TeX\ syntax can be quite complicated and, in some cases, far too -complicated for simple regular expressions. The \TeX\ parser library performs +complicated for simple \idxpl!{regex}. The \TeX\ parser library performs better than a simple pattern match, and that's the purpose of \file{texparserlib.jar} and why it's used by \bibgls\ (and by \idx{convertgls2bib}). When the \longarg{debug} mode is on, any @@ -2008,6 +2692,10 @@ If \csopt[false]{interpret-preamble} had been used, \csfmt{card} wouldn't be recognised and would be discarded leaving just \qtt{S} as the sort value. +(Note that if \ics{vert} is used instead of \textbar\ then it would +be converted into the mathematical operator \hex{2223} and result in +a different order.) + For the \code{i} entry, the code is: \begin{verbatim} {}$\imaginary$ @@ -2124,8 +2812,7 @@ support for locales than the native \idx{JRE}. For example: \begin{verbatim} java.locale.providers=CLDR,JRE \end{verbatim} -This isn't available for Java~7, and should be enabled by default -for the proposed Java~9. The property +This should be enabled by default for Java~9. The property can either be set in a script that runs \bibgls, for example, \begin{verbatim} java -Djava.locale.providers=CLDR,JRE,SPI -jar "$jarpath" "$@" @@ -2146,8 +2833,7 @@ set JAVA_TOOL_OPTIONS=-Djava.locale.providers=CLDR,JRE,SPI \chapter{Command Line Options} \label{sec:switches} - -\setcounter{secnumdepth}{0} +\setsecdepth{0} The syntax of \bibgls\ is: \begin{alltt} @@ -2306,6 +2992,43 @@ This switch is most useful in conjunction with Don't check for instances of \ics{citation} in the \ext{aux} file (default). +\argsection{warn-non-bib-fields} + +If any internal fields are found in the \ext{bib} file, this setting +will issue a warning as their use can cause unexpected results. +The fields checked for are those listed in Tables~\ref{tab:internalfields} +and \ref{tab:baseinternalfields} with a few exceptions, notably +\field{type} and \field{sort}. Ideally you shouldn't need to use +\field{sort} as there should be an appropriate fallback set up to +use if \field{sort} isn't set, such as the label for symbols or the +name for terms or the short form for abbreviations. + +This is the default setting and was added as some users were +confused over which fields could be used in the \ext{bib} file. +The use of these fields can break \bibgls's normal behaviour and +cause unexpected results. + +The check is performed before field aliasing, so it's possible to +alias a field to an internal field, such as \field{group}, without +triggering this warning. If you do this you need to make sure you +have taken appropriate precautions to avoid unexpected results. + +\argsection{no-warn-non-bib-fields} + +Switches off the check for non-bib fields. If you use this option +you need to make sure you have taken appropriate precautions to +avoid unexpected results. + +\argsection{warn-unknown-entry-types} + +If any unknown entry types are found in the \ext{bib} file, \bibgls\ +will issue a warning with this option set (default). + +\argsection{no-warn-unknown-entry-types} + +This option will suppress the warning if an unknown entry types are +found in the \ext{bib} file. + \argsection{merge-wrglossary-records} For use with the \styopt{indexcounter} package option @@ -2711,9 +3434,10 @@ and \encap{hyperbf} or \encap{hyperit} for a primary reference.) \argsection{group} The \styfmt{glossaries-extra} \styopt{record} package option -automatically creates a new field called \field{group}. If the -\longarg{group} switch is used then, when sorting, \bibgls\ will try -to determine the letter group for each entry and add it to the +automatically creates a new internal field called \field{group}. If the +\longarg{group} switch is used with the default \csopt[auto]{group} +option then, when sorting, \bibgls\ will try +to determine the letter group for each entry and assign it to the \field{group} field. (Some \csopt{sort} options ignore this setting.) This value will be picked up by \ics{printunsrtglossary} if group headings are required (for example with the @@ -2723,6 +3447,18 @@ if group headings are required (for example with the the glossary, there's no need to use this switch. Note that this switch doesn't automatically select an appropriate glossary style. +\begin{important} +The \field{group} field should typically not be set in the \ext{bib} +file and will trigger a warning if found. The explicit use of the +\field{group} key will override \bibgls's normal group formation behaviour, +which can cause unexpected results. The custom use of the +\field{group} field requires some care. As a general rule, if you +find yourself wanting to use the \field{group} field in the \ext{bib} file, +then the chances are that what you actually have is a hierarchical +glossary (list of topics) and what you really need is the \field{parent} field. +Compare the example files \exfile{sample-textsymbols.tex} and +\exfile{sample-textsymbols2.tex}. See also \sectionref{sec:logicaldivisions}. +\end{important} There are eight types of groups: \begin{description} \item[\idx{lettergroup}] The first non-ignored character of the @@ -2768,13 +3504,14 @@ The group label is obtained from \gls!{bibglsdategroup}. comparisons (where the date is omitted). The group label is obtained from \gls!{bibglstimegroup}. -\item[\idx{customgroup}] The group label is explicitly set either in -the \ext{bib} file or using the \csopt[\meta{label}]{group} resource -option. You will need to use \gls{glsxtrsetgrouptitle} to provide an -associated title if the \meta{label} isn't the same as the title. -Remember that the label can't contain any active characters, so you -can't use non-ASCII characters in \meta{label} with \sty{inputenc} -(but you can use non-ASCII alphanumerics with \sty{fontspec}). +\item[\idx{customgroup}] The group label is explicitly set either by +aliasing a field (with \csopt{field-aliases}) or by using the +\csopt[\meta{label}]{group} resource option. You will need to use +\gls{glsxtrsetgrouptitle} in the document to provide an associated title if the +\meta{label} isn't the same as the title. Remember that the label +can't contain any active characters, so you can't use non-ASCII +characters in \meta{label} with \sty{inputenc} (but you can use +non-ASCII alphanumerics with \sty{fontspec}). \end{description} @@ -2896,9 +3633,10 @@ hyper-group styles, and make sure you have an up-to-date version of \argsection{no-group} -Don't use the \field{group} field. (Default.) -The glossary won't have groups even if a group style, such as -\glostyle{indexgroup}, is used. +Don't automatically set the \field{group} field with +\csopt[auto]{group} (default). The glossary won't have groups even if a +group style, such as \glostyle{indexgroup}, is used (unless the +\field{group} field is set to a custom value). \argsection{tex-encoding} @@ -3055,7 +3793,7 @@ switch off record counting. \chapter{\iext{bib} Format} \label{sec:bib} -\setcounter{secnumdepth}{1} +\setsecdepth{1} \bibgls\ recognises certain entry types. Any unrecognised types will be ignored and a warning will be written to the transcript file. @@ -3142,7 +3880,13 @@ treated as a comment character and other unwanted material should be omitted. Avoid using comments within field values. Comments are best placed outside of entry definitions. -The most common type of comment is the encoding comment, described above. +The most common type of comment is the encoding comment, described +above. \BibTeX's \entrydef{comment} is also supported by \bibgls\ +for general comments, but not for the encoding. For example, JabRef +uses \atentryfmt{Comment} for metadata. +\begin{codeenv} +\atentryfmt{Comment}\marg{jabref-meta: databaseType:bib2gls;} +\end{codeenv} \section{Fields} \label{sec:fields} @@ -3151,22 +3895,34 @@ Each entry type may have required fields, optional fields and ignored fields. These are set using a \keyvallist\ within \code{@\meta{entry-type}\marg{\meta{id},\meta{fields}}} in the \ext{bib} file. Most keys recognised by -\gls{newglossaryentry} may be used as a field. In general, you +\gls{newglossaryentry} may be used as a field unless \bibgls\ +considers them an internal field (see below). In general, you shouldn't need to use the \field{sort} field. +If an optional field is missing and \bibgls\ needs to access it for +some reason, \bibgls\ will try to fallback on another value. The +actual fallback value depends on the entry type. The most common +fallback is that used if the \field{sort} field is missing, which is +typically the case. This approach allows different entry types to +have different fields used for sorting. + Predefined fields for use in \ext{bib} files are listed in Tables~\ref{tab:fields}, \ref{tab:bib2glsfields}, \ref{tab:prefixfields} and~\ref{tab:accsuppfields}. If you add any custom keys in your document using \ics{glsaddkey} or \ics{glsaddstoragekey}, those commands must be placed before the first use of \gls{GlsXtrLoadResources} to ensure that \bibgls\ -recognises them as a field name. - -Internal fields that may be set by \bibgls\ when it creates the \iext{glstex} -files are listed in Table~\ref{tab:internalfields}. These typically -shouldn't be set in the \ext{bib} file. Some of these fields can be set -for a particular document using a resource option, such as -\csopt{type} or \csopt{category}. +recognises them as a valid field name. + +Internal fields that may be assigned within the document (the +\LaTeX\ assignment code having been written by \bibgls\ in the +\iext{glstex} file) are listed in Table~\ref{tab:internalfields}. +These typically shouldn't be used in the \ext{bib} file. Some of +these fields can be set for a particular document using a resource +option, such as \csopt{type} or \csopt{group}. With +\longarg{warn-non-bib-fields} set, \bibgls\ will check for internal +fields that can cause interference with its normal operations and +will warn if any are found in the \ext{bib} file. There are also some fields that are set and used by \styfmt{glossaries} or \styfmt{glossaries-extra} listed in @@ -3184,11 +3940,6 @@ convenient than using \ics{input} or \ics{loadglsentries}, which requires all the keys used in the file to be defined, regardless of whether or not you actually need them in the document. -If an optional field is missing and \bibgls\ needs to access it for -some reason (for example, for sorting), \bibgls\ will try to -fallback on another value. The actual fallback value depends on the -entry type. - Other entries can be cross-referenced using the \field{see}, \field{seealso} or \field{alias} fields or by using commands like \ics{gls} or \ics{glsxtrp} in any of the @@ -3226,67 +3977,68 @@ but it doesn't add any information to the cross-referencing part of the location list. The option may be used in combination with the \field{see} or \field{seealso} fields. -\begin{table}[hbtp] -\caption{Fields Provided by \styfmt{glossaries-extra}}\label{tab:fields} -\centering -\printfields{basefield,extrafield}% -\end{table} - -\begin{table}[hbtp] -\caption{Fields Provided by \bibgls}\label{tab:bib2glsfields} -\centering -\printfields{bib2glsfield}% -\end{table} - -\begin{table}[hbtp] -\caption[Fields Provided by \styfmt{glossaries-prefix}]{Fields -Provided by \isty{glossaries-prefix}}\label{tab:prefixfields} -\centering -\printfields{prefixfield}% -\end{table} +\clearpage -\begin{table}[hbtp] -\caption[Fields Provided by \styfmt{glossaries-accsupp}]{Fields -Provided by \isty{glossaries-accsupp}} -\label{tab:accsuppfields} -{\centering -\printfields{accessfield}% -\par} -\medskip -Don't load \isty{glossaries-accsupp} directly (with \ics{usepackage}) when using -\styfmt{glossaries-extra}. Load using the \styopt{accsupp} package -option instead. -\begin{codeenv} -\cs{usepackage}\oarg{\styopt{record},\styopt{accsupp}}\marg{glossaries-extra} -\end{codeenv} -\end{table} +\printfields + {basefield,extrafield} + {Fields Provided by \styfmt{glossaries-extra}} + {tab:fields} -\begin{table}[hbtp] -\caption[Fields Set by \bibgls]{Fields Sometimes Set by \bibgls\ in -the \iext{glstex} File} -\label{tab:internalfields} -You may define and assign \field{bibtextype} (although it's more -likely to be aliased). Don't define any of others, and don't use any -of them in the \ext{bib} file, except for \field{group}, -\field{sort} or \field{type} although those three are best -set in the resource command or by \bibgls.\par -\bigskip -\centering -\printfields{internalfield}% -\end{table} +\clearpage -\begin{table}[hbtp] -\caption[Internal Fields Set by \styfmt{glossaries} or -\styfmt{glossaries-extra} or \bibgls]{Internal Fields Set by -\styfmt{glossaries} or \styfmt{glossaries-extra} or \bibgls}% -\label{tab:baseinternalfields} -\medskip -Don't define any of these and don't use any of them in the \ext{bib} -file.\par -\bigskip -\centering -\printfields{baseinternalfield}% -\end{table} +\printfields + {bib2glsfield} + {Fields Provided by \bibgls} + {tab:bib2glsfields} + +\printfields + {prefixfield}% + [Fields Provided by \styfmt{glossaries-prefix}]% + {Fields Provided by \isty{glossaries-prefix}} + {tab:prefixfields} + +\printfields + [% + Don't load \isty{glossaries-accsupp} directly (with \ics{usepackage}) + when using \styfmt{glossaries-extra}. Load using the \styopt{accsupp} + package option instead. +%\begin{codeenv} +%\cs{usepackage}\oarg{\styopt{record},\styopt{accsupp}}\marg{glossaries-extra} +%\end{codeenv} + ]% + {accessfield}% + [Fields Provided by \styfmt{glossaries-accsupp}]% + {Fields Provided by \isty{glossaries-accsupp}} + {tab:accsuppfields} + +\printfields + [% + You may define and assign \field{bibtextype} as a key (although it's more + likely to be aliased). Don't define any of the others listed in this + table, and don't use any of them in the \ext{bib} file. A possible + exception is the \field{type} field, but it's more flexible to set + that through a resource option. The explicit use of \field{group} + within a \ext{bib} file can cause unpredictable + results and is best set through a resource option or by \bibgls. + In general, you shouldn't need to set the \field{sort} field as + appropriate fallbacks should produce useful sort values.% + ]% + {internalfield}% + [Fields Set by \bibgls]% + {Fields Sometimes Set by \bibgls\ in the \iext{glstex} File}% + {tab:internalfields} + +\printfields + [% + Don't define any of these as keys and don't use any of them in the \ext{bib} + file.% + ]% + {baseinternalfield}% + [Internal Fields Set by \styfmt{glossaries} or \styfmt{glossaries-extra} + or \bibgls]% + {Internal Fields Set by \isty{glossaries} or \isty{glossaries-extra} + or \bibgls}% + {tab:baseinternalfields} \clearpage @@ -3406,6 +4158,10 @@ there's no difference. If they don't match then in the first example the document definitions will take precedence (but the interpreter will use the \atentry{preamble} definitions) and in the second example the \atentry{preamble} definitions will take precedence. +For example, the document may define \csfmt{card} as: +\begin{codeenv} +\cs{newcommand}\marg{\cmd{card}}[1]\marg{\ics{vert}\cmd{set}\marg{\idx{param}1}\cs{vert}} +\end{codeenv} \item Make use of \gls{glsxtrfmt} provided by \styfmt{glossaries-extra} which allows you to store the name of the formatting command in a field. @@ -3619,10 +4375,11 @@ For example: } \end{codeenv} -If the \field{sort} field is missing the default is obtained from the -\field{name} field. (A different field can be selected for the sort value with -\csopt{sort-field}.) For hierarchical entries, if the \field{name} field is -omitted it will be obtained from the parent's \field{name}. +If the \field{sort} field is missing the default is obtained from +the \field{name} field (unless overridden by +\csopt{entry-sort-fallback}). For hierarchical entries, if the +\field{name} field is omitted it will be obtained from the parent's +\field{name}. Terms defined using \atentry{entry} will be written to the output (\ext{glstex}) file using the command \gls!{bibglsnewentry}. @@ -3706,6 +4463,10 @@ behaviour of \atentry{entry}, which fetches the name from the parent entry.) If the name contains any characters that can't be used in the label, you must use the \field{name} field. If the \field{sort} field is missing the default is obtained from the \field{name}. +Note that the \atentry{index} entry type is \emph{not} governed by +\csopt{entry-sort-fallback}. This allows \atentry{index} and +\atentry{entry} to have different fallbacks if the \field{sort} +field is missing. Example: \begin{codeenv} @@ -3727,7 +4488,9 @@ missing, is obtained from the \field{plural} field. If the field with the plural suffix appended. If the \field{text} field is missing, it's obtained from the original entry label. If the \field{sort} field is missing the default is obtained from the -\field{name} field. All fields are optional. For example: +\field{name} field. (As with \atentry{index}, \atentry{indexplural} +is \emph{not} governed by \csopt{entry-sort-fallback}.) +All fields are optional. For example: \begin{codeenv} \atentry{indexplural}\marg{goose, \field{plural} = \marg{geese} @@ -5109,10 +5872,12 @@ way the entries are sorted and on the \csopt{dual-sort} setting. \section{Multi-Entry Types} \label{sec:multientry} -A multi-entry type is a primary entry that may spawn multiple +A multi-entry type is an entry that may spawn multiple primary entries. This means that both the main entry and the spawned entries are sorted together along with all the other primary -entries. +entries. In the case of \atentry{spawndualindexentry}, the main and +spawned entries are primary. The main entry's dual is created as per +\atentry{dualindexentry}. \entrysection{bibtexentry} @@ -5129,7 +5894,9 @@ and \atentryfmt{book} as though they were both \end{codeenv} For convenience, \isty{glossaries-extra-bib2gls} v1.29+ provides \ics{GlsXtrBibTeXEntryAliases} which covers all the -standard \BibTeX\ entry types. If you use +standard \BibTeX\ entry types. Alternatively, you can use +\csopt[bibtexentry]{unknown-entry-alias} to alias all entries +that aren't recognised by \bibgls. If you use \csopt[same as original entry]{category}, the \field{category} field will be set to the original entry type (for example, \code{article} or \code{book}). Similarly you can use @@ -5313,6 +6080,290 @@ pdflatex myDoc pdflatex myDoc \end{codeenv} +\entrysection{progenitor} + +The \atentryfmt{progenitor} type of entries are the only place where +the \field{adoptparents} field is permitted. The value should be a +comma-separated list of labels. The \field{adoptparents} field +must be set and must contain a least one label. If the value +contains any of the characters \idx{backslashchar} (backslash), +\idx{bgroupchar} (open brace) or \idx{egroupchar} (close brace) then +the field will be interpreted (if the default \longarg{interpret} settings +is on). + +Since entries are spawned before fields are processed, the +\field{adoptparents} field is parsed before any field aliases +(\csopt{field-aliases}) or replication (\csopt{replicate-fields}) +takes place. However, if the \field{adoptparents} field isn't found, +\bibgls\ will check for a simple mapping in both the +\csopt{field-aliases} and \csopt{replicate-fields} settings. + +This entry type creates a main \idx[textformat=emph]{progenitor} +term (with all the given fields except \field{adoptparents}) +and $n$ spawned \idx[textformat=emph]{progeny} terms, where +$n$ is the number of elements in the \field{adoptparents} field, +that are dependent on the main term. + +Each of the spawned \idx{progeny} entries have the field identified by +\csopt{adopted-parent-field} (\field{parent} by default) set to the +corresponding element in the \field{adoptparents} field. + +All fields from the original definition are copied except for the +\field{adoptparents}, \field{alias} and \field{parent} fields. The +\field{parent} field is never copied, regardless of the value of +\csopt{adopted-parent-field}. If the adopted parent field is +changed to one that's contained in the original entry, it's value +will be from \field{adoptparents} not the value from the original +entry. + +The copied fields follow the same conditions as normal +entries. (For example, unknown fields are ignored, case-changes are +applied, if appropriate, and the \field{type} field must reference a +valid glossary, if set.) If \csopt{progenitor-type} is set, then +this assignment is made after the \idx{progeny} are created +and only applies to the main \idx{progenitor} entry. The +type for the \idx{progeny} can be set with \csopt{progeny-type}. +For example, \csopt[same as parent]{progeny-type} will ensure +that the \idx{progeny} are in the same glossary type as +their parent entry. + +For example, an entry defined as: +\begin{codeenv} +\atentry{progenitor}\marg{\meta{id}, + \field{adoptparents} = \marg{\meta{parent-1 id},\ldots,\meta{parent-N id}}, + \meta{field-name-1} = \margm{text}, + \ldots + \meta{field-name-n} = \margm{text} +} +\end{codeenv} +is essentially like: +\begin{codeenv} +\atentry{index}\marg{\meta{id}, + \field{progeny} = \marg{\meta{parent-1 id}.\meta{id},\ldots,\meta{parent-N id}.\meta{id}}, + \meta{field-name-1} = \margm{text}, + \ldots + \meta{field-name-n} = \margm{text} +} +\strut +\atentry{index}\marg{\meta{parent-1 id}.\meta{id}, + \field{progenitor} = \margm{id}, + \field{parent} = \margm{parent-1 id}, + \meta{field-name-1} = \margm{text}, + \ldots + \meta{field-name-n} = \margm{text} +} +\strut +\ldots +\strut +\atentry{index}\marg{\meta{parent-N id}.\meta{id}, + \field{progenitor} = \margm{id}, + \field{parent} = \margm{parent-N id}, + \meta{field-name-1} = \margm{text}, + \ldots + \meta{field-name-n} = \margm{text} +} +\end{codeenv} +This creates the main (\idx{progenitor}) \meta{id} entry, which +contains all the fields (except for \field{adoptparents}) that were +in the original \atentry{progenitor} definition and has the new +field \field{progeny} set to the comma-separated list of spawned +entry labels. The main entries are defined in the \ext{glstex} file +with \gls{bibglsnewprogenitor}. + +In addition to the main \meta{id} entry, the above also creates the +spawned \idx{progeny} entries \code{\meta{parent-1 id}.\meta{id}}, \ldots, +\code{\meta{parent-N id}.\meta{id}} that are dependent on the main +\meta{id} entry. + +The spawned entries have the \field{parent} field set to the +corresponding label obtained from the \field{adoptparents} list. +This parent entry must also be defined, as usual for the +\field{parent} field. (This restriction obviously doesn't apply if +\csopt{adopted-parent-field} is changed from the default +\field{parent}.) The spawned entries are defined in the \ext{glstex} +file with \gls{bibglsnewspawnedindex} + +If the main \idx{progenitor} entry is referenced in the document +then (assuming the default selection criteria) the spawned entries +will also be automatically selected. You can check for the existence +of the \field{progenitor} field using \cs{glsxtrifhasfield} and +fetch the \field{location} field from the main entry, if required. + +Although the spawned entries are considered dependents of the main +entry, the reverse doesn't apply. If a spawned entry is referenced +in the document (with \code{\meta{parent-id}.\meta{id}}) then the +main entry and its other spawned entries aren't automatically +selected. + +For example, suppose the file \filefmt{entries.bib} contains: +\begin{codeenv} +\atentry{indexplural}\marg{stylesheet, \field{text}=\marg{stylesheet language}} +\strut +\atentry{index}\marg{webdesign, \field{name}=\marg{web design}} +\strut +\atentry{indexplural}\marg{markup, \field{text}=\marg{markup language}} +\strut +\atentry{progenitor}\marg{xml, + \field{name}=\marg{XML}, + \field{adoptparents}=\marg{markup} +} +\strut +\atentry{progenitor}\marg{css, + \field{name}=\marg{CSS}, + \field{adoptparents}=\marg{stylesheet,webdesign} +} +\strut +\atentry{progenitor}\marg{html, + \field{name}=\marg{HTML}, + \field{adoptparents}=\marg{markup,webdesign} +} +\strut +\atentry{progenitor}\marg{xsl, + \field{name}=\marg{XSL}, + \field{adoptparents}=\marg{stylesheet} +} +\end{codeenv} +and if the document contains: +\begin{codeenv} +\cmd{documentclass}\marg{article} +\strut +\cmd{usepackage}\oarg{\styopt{record},\styopt[tree]{stylemods},\styopt[index]{style}}\marg{glossaries-extra} +\strut +\gls{GlsXtrLoadResources}\oarg{\csopt[entries]{src},\csopt[all]{selection}} +\strut +\cs{newcommand}*\marg{\cs{glstreenamefmt}}[1]\marg{\idx{param}1} +\cmd{begin}\marg{document} +\cs{printunsrtglossaries} +\cmd{end}\marg{document} +\end{codeenv} +Then the resulting list will be: +\begin{quote} +\setlength{\parindent}{0pt}% +\setlength{\parskip}{0pt plus 0.3pt}% +\glstreeitem CSS\par +\glstreeitem HTML\par +\glstreeitem markup language\par +\glstreesubitem HTML\par +\glstreesubitem XML\par +\glstreeitem stylesheet language\par +\glstreesubitem CSS\par +\glstreesubitem XSL\par +\glstreeitem web design\par +\glstreesubitem CSS\par +\glstreesubitem HTML\par +\glstreeitem XML\par +\glstreeitem XSL\par +\end{quote} +This allows the HTML and CSS entries to be listed under multiple +parents. + +The following \atentryfmt{spawn\meta{single-type}} commands are all forms +of \atentry{progenitor} that create the given +\atentryfmt{\meta{single-type}} of entry. The spawned entries are actually +created with the private entry type \atentryfmt{spawned\meta{type}}. In the +case of \atentry{progenitor}, the spawned entries are defined as +a \atentryfmt{spawnedindex} entry. These special +\atentryfmt{spawned\meta{type}} entry types aren't intended for use +in the \ext{bib} file, but if you reference the entry type (for +example, with \csopt[same as entry]{category}) you will get +\atentryfmt{spawned\meta{type}} as the entry type. The +original entry type for the spawned entries is the same as +the original entry for the main \atentry{progenitor} entry. + +There is currently only one form of dual \atentry{progenitor} entry and that's +\atentry{spawndualindexentry}. Only the main \idx{progenitor} entry +is a dual entry. The spawned \idx{progeny} are all \atentry{index} +primary entries. + +\entrysection{spawnindex} + +As \atentry{progenitor}, but the main entries are defined in the +\ext{glstex} file with \gls{bibglsnewspawnindex} and the +spawned entries are defined with \gls{bibglsnewspawnedindex}. + +\entrysection{spawnindexplural} + +As \atentry{progenitor}, except that it creates +\atentry{indexplural} terms instead of \atentry{index}. +As with \atentry{indexplural}, if the \field{name} field isn't set, +it's assigned to the same value as the \field{plural} field (or the +fallback for the \field{plural}, if not defined). + +The main entries are defined in the +\ext{glstex} file with \gls{bibglsnewspawnindexplural} and the +spawned entries are defined with \gls{bibglsnewspawnedindexplural}. + +\entrysection{spawnentry} + +As \atentry{progenitor}, except that it creates +\atentry{entry} terms instead of \atentry{index}. +As with \atentry{entry}, the \field{description} field is required +and either \field{name} or \field{parent}. + +The main entries are defined in the +\ext{glstex} file with \gls{bibglsnewspawnentry} and the +spawned entries are defined with \gls{bibglsnewspawnedentry}. + +\entrysection{spawnabbreviation} + +As \atentry{progenitor}, except that it creates +\atentry{abbreviation} terms instead of \atentry{index}. +As with \atentry{abbreviation}, the \field{short} and \field{long} +fields are required. + +The main entries are defined in the +\ext{glstex} file with \gls{bibglsnewspawnabbreviation} and the +spawned entries are defined with \gls{bibglsnewspawnedabbreviation}. + +\entrysection{spawnacronym} + +As \atentry{progenitor}, except that it creates +\atentry{acronym} terms instead of \atentry{index}. +As with \atentry{acronym}, the \field{short} and \field{long} +fields are required. + +The main entries are defined in the +\ext{glstex} file with \gls{bibglsnewspawnacronym} and the +spawned entries are defined with \gls{bibglsnewspawnedacronym}. + +\entrysection{spawnsymbol} + +As \atentry{progenitor}, except that it creates +\atentry{symbol} terms instead of \atentry{index}. +As with \atentry{symbol}, the required fields are \field{name} or +\field{parent}, and the \field{description} field is required if the +\field{name} field is missing. + +The main entries are defined in the +\ext{glstex} file with \gls{bibglsnewspawnsymbol} and the +spawned entries are defined with \gls{bibglsnewspawnedsymbol}. + +\entrysection{spawnnumber} + +As \atentry{progenitor}, except that it creates +\atentry{number} terms instead of \atentry{index}. +As with \atentry{number}, the required fields are \field{name} or +\field{parent}, and the \field{description} field is required if the +\field{name} field is missing. + +The main entries are defined in the +\ext{glstex} file with \gls{bibglsnewspawnnumber} and the +spawned entries are defined with \gls{bibglsnewspawnednumber}. + +\entrysection{spawndualindexentry} + +As \atentry{progenitor}, except that the main (\idx{progenitor}) +entry behaves like \atentry{dualindexentry}. The spawned +\idx{progeny} behave like \atentry{index} are so are all considered primary +entries. The \field{adoptparents} field should therefore reference +primary entries with the default \csopt[parent]{adopted-parent-field}. + +The main primary and secondary (dual) entries are defined in the +\ext{glstex} file with +\gls{bibglsnewspawndualindexentry} and +\gls{bibglsnewspawndualindexentrysecondary}. The spawned +\idx{progeny} are defined with \gls{bibglsnewspawnedindex}. + \chapter{Resource File Options} \label{sec:resourceopts} @@ -5382,6 +6433,34 @@ doesn't parse the options, but just writes the information to the \ext{aux} file. This means that any invalid options will be reported by \bibgls\ not by \sty{glossaries-extra}. +As from \sty{glossaries-extra} v1.40 you can provide a default set +of options by redefining: +\nosecdef{GlsXtrDefaultResourceOptions} +This command will be inserted at the start of the options list for +all resource commands (and will expand as it's written to +the \ext{aux} file). For example: +\begin{codeenv} +\cs{renewcommand}\marg{\gls{GlsXtrDefaultResourceOptions}}\marg{\comment{} + \csopt[all]{selection},\csopt[entries]{src}} +\gls{GlsXtrLoadResources}\oarg{ + \csopt[symbols]{type}, + \csopt[entrytype=symbol]{match}} +\gls{GlsXtrLoadResources}\oarg{ + \csopt[abbreviations]{type}, + \csopt[entrytype=abbreviation]{match}} +\end{codeenv} +This acts like: +\begin{codeenv} +\gls{GlsXtrLoadResources}\oarg{ + \csopt[all]{selection},\csopt[entries]{src}, + \csopt[symbols]{type}, + \csopt[entrytype=symbol]{match}} +\gls{GlsXtrLoadResources}\oarg{ + \csopt[all]{selection},\csopt[entries]{src}, + \csopt[abbreviations]{type}, + \csopt[entrytype=abbreviation]{match}} +\end{codeenv} + If you have multiple \ext{bib} files you can either select them all using \csopt[\meta{bib list}]{src} in a single \gls{glsxtrresourcefile} call, if they all require the same settings, @@ -5710,6 +6789,9 @@ one mapping. For example: This option isn't cumulative. Multiple instances of \csopt{entry-type-aliases} override previous instances. If \meta{\keyvallist} is empty there will be no mappings. +You can save the original entry type in the +\field{originalentrytype} field with +\csopt{save-original-entrytype}. Here's another example entry in a \ext{bib} file: \begin{codeenv} @@ -5752,6 +6834,14 @@ treats the entry as though it had been defined as: } \end{codeenv} +\optsection{unknown-entry-alias} + +If this option is set, the \meta{value} is used as the alias for any +unknown entry types (after any aliases provided with +\csopt{entry-type-aliases} have been applied). If the value is +missing or empty, unknown entry types will be ignored with a +warning. + \optsection{action} This governs how the entries are written in the \iext{glstex} file. @@ -6076,7 +7166,8 @@ be selected. \optsection{match} It's possible to filter the selection by matching field values. -If \meta{\keyvallist} is empty no filtering will be applied, otherwise +The value is required for this key but may be empty, which indicates +that the setting is switched off, otherwise \meta{\keyvallist} should be a \meta{key}=\meta{regexp} list, where \meta{key} is the name of a field or \optfmt{id} for the entry's label or \optfmt{entrytype} for the \bibgls\ entry type (as in @@ -6085,7 +7176,7 @@ field identifying the glossary label). If you've used \csopt{entry-type-aliases}, this refers to the target entry type not the original entry type specified in the \ext{bib} file. -The \meta{regex} part should be a regular expression conforming +The \meta{regex} part should be a \idx{regex} conforming to \href{http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html}{Java's Pattern class}~\cite{pattern}. The pattern is anchored @@ -6153,11 +7244,11 @@ The default is \csopt[and]{match-op}. \optsection{not-match} If \csopt[\meta{\keyvallist}]{match} would cause an entry to be -selected then \csopt[\meta{\keyvallist}]{not-match} would cause -that entry to be ignored. If \meta{\keyvallist} is missing, the -filtering is removed. If you have both \csopt{match} and -\csopt{not-match} in the same resource set, the last one listed -takes precedence. +selected then \csopt[\meta{\keyvallist}]{not-match} would cause that +entry to be ignored. The value is required for this key but may be +empty, which indicates that the setting is switched off. If you +have both \csopt{match} and \csopt{not-match} in the same resource +set, the last one listed takes precedence. \optsection{match-action} @@ -7052,7 +8143,9 @@ This option should take a comma-separated list of recognised field names as the value. (If a field is present in both \csopt{labelify} and \csopt{labelify-list}, then \csopt{labelify-list} takes precedence.) Note that if this setting is on, \idxpl{crossresourceref} aren't -permitted. +permitted. The value is required for this key but may be empty, +which indicates an empty set of fields (that is, the setting is +switched off). Each listed field will be converted into a string suitable for use as a label. (Not necessarily a glossary entry label, but @@ -7157,9 +8250,13 @@ depending on whether or not \sty{fontspec} was detected. This option takes a comma-separated list as a value with each element in the list in the form \code{\margm{regex}\margm{replacement}} -where \meta{regex} is a regular expression (that conforms to \href{http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html}{Java's +where \meta{regex} is a \idx{regex} (that conforms to \href{http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html}{Java's Pattern class}~\cite{pattern}) and \meta{replacement} -is the replacement text. Remember that the argument of +is the replacement text. The value is required for this key but +may be empty, which indicates that the +setting is switched off. + +Remember that the argument of \gls{GlsXtrLoadResources} is expanded when written to the \ext{aux} file so take care to protect any special characters. For example, to match a literal \idx{full-stop} use \cs{cs.string}\idx{cs.period} @@ -7509,12 +8606,14 @@ using \ics{GlsXtrSetField} after the entry definition. The \meta{list} should be a comma-separated list of fields that have values in the form \code{\oargm{tag}\meta{id-list}} where -\meta{id-list} is a comma-separated list of entry labels. This -makes those fields act like the \field{see} field by +\meta{id-list} is a comma-separated list of entry labels. The value +is required for this key but may be empty, which indicates an empty +set of fields (that is, the setting is switched off). + +This setting makes those fields act like the \field{see} field by identifying the listed entries as dependencies, but the information -isn't added to the cross-reference part of the location list. -This action is performed after \csopt{labelify-list}, if that's also -set. +isn't added to the cross-reference part of the location list. This +action is performed after \csopt{labelify-list}, if that's also set. For example, suppose the file \filefmt{entries-en.bib} contains: \begin{codeenv} @@ -7640,14 +8739,16 @@ O \cs{gls}\marg{gato} sentou-se no \cs{gls}\marg{tapete}. \optsection[\subsubsection]{group} -The \csopt{group} option may only be used with the \longarg{group} switch. -This will set the \field{group} field to \meta{label} unless -\meta{label} is \optfmt{auto}, in which case the value is -set automatically during the sorting (see also -\csopt{group-formation}). -The corresponding title can be set -with \gls{glsxtrsetgrouptitle} if the title is different from the -label. The default behaviour is \csopt[auto]{group}. +The \csopt{group} option will set the \field{group} field to \meta{label} +unless \meta{label} is \optfmt{auto}. If \csopt[auto]{group} then if +the \longarg{group} switch is used the value of the \field{group} +field is set automatically during the sorting (see also \csopt{group-formation} +and \sectionref{sec:logicaldivisions}). If the \longarg{no-group} +setting is on then \csopt[auto]{group} does nothing. + +The corresponding group title can be set with +\gls{glsxtrsetgrouptitle} in the document if the title is different +from the label. The default behaviour is \csopt[auto]{group}. For example: \begin{codeenv} @@ -7772,6 +8873,15 @@ The \meta{value} may be one of: to the same value as the \field{category} field (\field{type} unchanged if \field{category} not set); +\item \optfmt{same as parent}: sets the \field{type} to the same as +the entry's parent (new to v1.9). If the entry doesn't have a parent +or if the parent doesn't have the \field{type} field set, then +no change is made. Entries should always have the same type +as their parent, but it's possible for spawned entries to +pick up the \field{type} field from their \idx{progenitor} entry +(if it was explicitly set in the \ext{bib} file), +which may be inappropriate. + \item\meta{label} sets the \field{type} field to the glossary identified by \meta{label}. \end{itemize} @@ -7826,6 +8936,30 @@ it's not required as \bibgls\ will write \code{\ics{provideignoredglossary*}\margm{type}} to the \ext{glstex} file (see \sectionref{sec:newglossary}). +\optsection[\subsubsection]{progenitor-type} + +This sets the default \field{type} field for the main term defined by +\atentry{progenitor}-like entries. The \meta{value} is as for +\csopt{type}. This doesn't change the \field{type} for the spawned +\idx{progeny}. + +\optsection[\subsubsection]{progeny-type} + +This sets the default \field{type} field for the \idx{progeny} term +spawned by +\atentry{progenitor}-like entries. The \meta{value} is as for +\csopt{type}. This doesn't change the \field{type} for the main +\idx{progenitor}. Remember that with the default +\csopt[parent]{adopted-parent-field} setting, the given type +should match the type of the parent entry. + +\optsection[\subsubsection]{adopted-parent-field} + +This identifies the target field to be set to the corresponding +value of the \field{adoptparents} list by the \idx{progeny} +entries spawned by the \atentry{progenitor} type of entry. +The default is \field{parent}. + \optsection[\subsubsection]{abbreviation-name-fallback} The entry types that define abbreviations (such as @@ -7911,12 +9045,17 @@ The value of one field can be copied to other fields using this option where each \meta{key}\dequals\meta{value} pair is in the form \code{\meta{field1}\dequals\marg{\meta{field2},\meta{field3},\ldots}} -where all values are field names. This copies the contents +where all values are field names. The value is required for this key +but may be empty, which indicates that the setting is switched off. + +This option copies the contents of \meta{field1} to \meta{field2}, \meta{field3}, \ldots\ (only if the target field isn't already set with \csopt[false]{replicate-override}). This action is performed after \csopt{ignore-fields} (see -\sectionref{sec:resourcesets}). +\sectionref{sec:resourcesets}). If the source field is missing, the +\csopt{replicate-missing-field-action} setting determines the +action. For example, suppose \filefmt{people.bib} contains: \begin{codeenv} @@ -7998,6 +9137,18 @@ This is a boolean option. The default setting is \csopt{replicate-fields} will override the existing value if the target field is already set. +\optsection[\subsubsection]{replicate-missing-field-action} + +This option indicates what to do if a source field identified in +\csopt{replicate-fields} is missing. The value may be one of: +\begin{itemize} +\item \optfmt{skip}: skip the replication of the missing field +(default); +\item \optfmt{fallback}: use the fallback for the missing field, if +one is available (otherwise skip); +\item \optfmt{empty}: make the target field empty. +\end{itemize} + \optsection[\subsubsection]{counter} The \csopt{counter} option assigns the default counter to use @@ -8053,6 +9204,14 @@ style. For example: If set, the value of the \field{alias} field is copied to the \field{see} field. The default setting is \csopt[false]{copy-alias-to-see}. +\optsection[\subsubsection]{save-original-entrytype} + +If this is set to \optfmt{true}, the original entry type +(without the leading \idx{atchar}) is stored in the +\field{originalentrytype} field. If no entry aliasing has been +applied (with \csopt{entry-type-aliases}) the field will be set to +the actual entry type. + \subsection{Field Adjustments} \label{sec:fieldmods} @@ -8240,7 +9399,8 @@ recognised by \bibgls' interpreter (such as those listed in \tableref{tab:bibglsdefs}). \end{itemize} The final \code{:\meta{csname}} part may be omitted if no command -need be applied. (That is, sort by label.) +need be applied. (That is, sort by label.) The value is required for this key but +may be empty, which indicates the setting is switched off. The sorting options are as those for the main list. For example, for entries in the primary list the break point is obtained from the @@ -8546,7 +9706,10 @@ order isn't what you expect, check the transcript file for messages. \optsection[\subsubsection]{bibtex-contributor-fields} This option indicates that the listed fields all use \BibTeX's name -syntax (as used in \BibTeX's \code{author} and \code{editor} fields). +syntax (as used in \BibTeX's \code{author} and \code{editor} fields). The value is required for this key but +may be empty, which indicates an empty set of fields (that is, the +setting is switched off). + The values of these fields will be converted into the form: \begin{codeenv} \gls{bibglscontributorlist}\margm{contributor list}\margm{n} @@ -8638,18 +9801,154 @@ such as with the \exfile{no-interpret-preamble.bib} file: } \strut \gls{GlsXtrLoadResources}\oarg{ - \csopt[entries]{src},\comment{data in entries.bib} - \csopt[name]{bibtex-contributor-fields} + \csopt[entries]{src},\comment{data in entries.bib} + \csopt[name]{bibtex-contributor-fields} +} +\end{codeenv} +Note the need to use \csopt[name]{bibtex-contributor-fields} +in the first resource set even though there are no entries in +the \ext{bib} file. This is because the definition of +\gls{bibglscontributor} is only written to the \ext{glstex} file if +\csopt{bibtex-contributor-fields} has been set to a non-empty list. +The second resource set will use the default +\csopt[von]{bibtex-contributor-fields} setting when obtaining the +sort value. + +\optsection[\subsubsection]{encapsulate-fields} + +This option should take a comma-separated list of +\optfmt{\meta{field}\dequals\meta{cs-name-1arg}} values, where +\meta{cs-name-1arg} is the name of a control sequence that takes +one argument. The value is required for this key but +may be empty, which indicates an empty set (that is, the +setting is switched off). + +During the processing stage, each field identified in +the list (if defined) will have its value replaced with: +\begin{codeenv} +\cmd{\meta{cs-name-1arg}}\margm{value} +\end{codeenv} +where \meta{value} was its previous value. An +empty list switches off encapsulation (the default). + +This action overrides any previous use of \csopt{encapsulate-fields} +within the same \idx{resourceset} and is always performed before +\csopt{encapsulate-fields*}, regardless of the order in the +\idx{resourceset}['s] list of options. + +\optsection[\subsubsection]{encapsulate-fields*} + +This option should take a comma-separated list of +\optfmt{\meta{field}\dequals\meta{cs-name-2arg}} values, where +\meta{cs-name-2arg} is the name of a control sequence that takes two +arguments. The value is required for this key but +may be empty, which indicates an empty set (that is, the +setting is switched off). + +During the processing stage, each field identified in the +list (if defined) will have its value replaced with: +\begin{codeenv} +\cmd{\meta{cs-name-2arg}}\margm{value}\margm{label} +\end{codeenv} +where \meta{value} was its previous value and \meta{label} is the +entry's label (including prefix, if appropriate). An +empty list switches off encapsulation (the default). + +This action overrides any previous use of +\csopt{encapsulate-fields*} within the same \idx{resourceset}, and +is always performed after \csopt{encapsulate-fields}, regardless of +the order in the \idx{resourceset}['s] list of options, so if the +same field is listed in both settings, its value will end up as: +\begin{codeenv} +\cmd{\meta{cs-name-2arg}}\marg{\cmd{\meta{cs-name-1arg}}\margm{value}}\margm{label} +\end{codeenv} + +\optsection[\subsubsection]{interpret-fields} + +This option indicates that the listed fields should be replaced by +their interpreted values. The value is required for this key but +may be empty, which indicates an empty set of fields (that is, the +setting is switched off). Other fields not listed may still be +interpreted depending on other settings. As with the \field{sort} +field, any special characters are replaced with commands like +\ics{glsbackslash} and \ics{bibglsdollarchar}. This option is +applied after \csopt{field-case-change} (if set). + +For example, suppose I have a file \filefmt{entries.bib} that +contains definitions like: +\begin{codeenv} +\atentry{symbol}\marg{pi, + \field{name}=\marg{\cs{ensuremath}\marg{\ics{pi}}}, + \field{description}=\marg{the ratio of a circle's circumference to its diameter}, +} +\strut +\atentry{symbol}\marg{sigma, + \field{name} = \marg{\cs{ensuremath}\marg{\ics{sigma}}}, + \field{description} = \marg{standard deviation} +} +\end{codeenv} +Instead of having a list of terms (glossary), suppose I want to have +standalone definitions, where the term appears in a section heading. +I could define a command like this: +\begin{codeenv} +\cs{newcommand}\marg{\cmd{definition}}[1]\marg{\comment{} + \cs{ifglsentryexists}\marg{\idx{param}1}\comment{} + \marg{\comment{} + \cs{section}\oarg{\cs{glsentryname}\marg{\idx{param}}}\marg{\cs{glsadd}\marg{\idx{param}1}\ics{glsxtrglossentry}\marg{\idx{param}1}}\comment{} + \ics{Glossentrydesc}\marg{\idx{param}1}\cs{glspostdescription} + }\comment{} + \marg{\cs{section}\oarg{Missing `\idx{param}1'}\marg{\cs{glsadd}\marg{\idx{param}1}}}\comment{} +} +\end{codeenv} +which can be used in the document: +\begin{codeenv} +\ics{tableofcontents} +\cmd{definition}\marg{pi} +\cmd{definition}\marg{sigma} +\end{codeenv} +A problem with this definition of my custom command occurs if I add +\sty{hyperref} to the document, because this tries to write \cs{pi} +and \cs{sigma} to the PDF bookmarks, which doesn't work because +those commands can't be automatically converted to characters +permitted in a PDF string. This leads to a warning from +\sty{hyperref}: +\begin{alltt} +Token not allowed in a PDF string (Unicode) +\end{alltt} +Ideally I'd like to be able to convert these symbols to Unicode so +that they can appear in the bookmarks. Since \bibgls' interpreter +recognises these commands, I can get it to make the conversion +instead of trying to implement a method within \TeX: +\begin{codeenv} +\cs{glsaddstoragekey}\marg{pdfname}\marg{}\marg{\cmd{pdfname}} +\gls{GlsXtrLoadResources}\oarg{ + \csopt[entries]{src}, + \csopt[\field{name}=\fieldfmt{pdfname}]{replicate-fields}, + \csopt[fallback]{replicate-missing-field-action}, + \csopt[\fieldfmt{pdfname}]{interpret-fields} +} +\end{codeenv} +This first copies the \field{name} field to the custom +\fieldfmt{pdfname} and then interprets the copy. This leaves +the \field{name} field with the \LaTeX\ code to produce the symbol +in the document, but the \fieldfmt{pdfname} field ends up with all markup +stripped by the interpreter and the \cs{pi} and \cs{sigma} are +converted to the Unicode characters \hex{1D70B} (mathematical italic +small pi) and \hex{1D70E} (mathematical italic small sigma). With +\XeLaTeX\ or \LuaLaTeX\ these characters can be written to the PDF +bookmarks by adjusting the definition of the custom command: +\begin{codeenv} +\cs{newcommand}\marg{\cmd{definition}}[1]\marg{\comment{} + \cs{ifglsentryexists}\marg{\idx{param}1}\comment{} + \marg{\comment{} + \cs{section} + \oarg{\ics{texorpdfstring}\marg{\cs{glsentryname}\marg{\idx{param}1}}\marg{\cmd{pdfname}\marg{\idx{param}1}}} + \marg{\cs{glsadd}\marg{\idx{param}1}\cs{glsxtrglossentry}\marg{\idx{param}1}}\comment{} + \cs{Glossentrydesc}\marg{\idx{param}1}\cs{glspostdescription} + }\comment{} + \marg{\cs{section}\oarg{Missing `\idx{param}1'}\marg{\cs{glsadd}\marg{\idx{param}1}}}% } \end{codeenv} -Note the need to use \csopt[name]{bibtex-contributor-fields} -in the first resource set even though there are no entries in -the \ext{bib} file. This is because the definition of -\gls{bibglscontributor} is only written to the \ext{glstex} file if -\csopt{bibtex-contributor-fields} has been set to a non-empty list. -The second resource set will use the default -\csopt[von]{bibtex-contributor-fields} setting when obtaining the -sort value. \optsection[\subsubsection]{date-time-fields} @@ -8661,7 +9960,7 @@ fields parsed according to \csopt{dual-date-time-field-format} and \csopt{dual-date-time-field-locale}. If the field value is missing or doesn't match the given pattern it remains unchanged, otherwise it's converted into the form: -\nosecdef{bibglsdatetime} +\formatdef{bibglsdatetime} where \meta{original} is the value of the field before conversion. If the interpreter is on, the value will be interpreted before being parsed if it contains \idx{escchar}, \idx{mshiftchar}, @@ -8674,7 +9973,7 @@ being parsed if it contains \idx{escchar}, \idx{mshiftchar}, As \csopt{date-time-fields} but for fields that only contain date (not time) information. If parsed correctly, the field is converted to: -\nosecdef{bibglsdate} +\formatdef{bibglsdate} The fields are parsed according to \csopt{date-field-format} and \csopt{date-field-locale} for primary entries and according to @@ -8686,7 +9985,7 @@ The fields are parsed according to As \csopt{date-time-fields} but for fields that only contain time (not date) information. If parsed correctly, the field is converted to: -\nosecdef{bibglstime} +\formatdef{bibglstime} The fields are parsed according to \csopt{time-field-format} and \csopt{time-field-locale} for primary entries and according to @@ -8930,9 +10229,11 @@ are skipped until a word-boundary is found. skipped. If the option is \optfmt{title} then the subsequent tokens are skipped until a word-boundary is found. - \item If the control sequence is \ics{NoCaseChange}, then the + \item If the control sequence is \ics{NoCaseChange} or is in the + \csopt{no-case-change-cs} list, then the control sequence and its argument is ignored. With \optfmt{firstuc} and \optfmt{title}, if \code{\ics{NoCaseChange}\margm{text}} + (but not any \csopt{no-case-change-cs} command) occurs at the start of a word, then \bibgls\ will act as though the word hasn't started yet (so the next token will be considered for a \idx{case-change}). This is different to the way \ics{makefirstuc} @@ -9222,6 +10523,26 @@ HT\cs{textcolor}\marg{RED}\marg{ML} which is incorrect. Instead, provide a command that hides the label (such as the \csfmt{strong} example described on page~\glsxtrpageref{strong}). +\optsection[\subsubsection]{no-case-change-cs} + +Instructs the non-\TeX\ case-changing options (where \bibgls, not +\TeX, performs the modification) to treat the commands whose control +sequence names are given in the comma-separated \meta{list} in the +same way as it treats \cs{ensuremath} etc. That is, the case-change +is omitted for the argument that follows any of those commands. + +For example, this manual defines some semantic commands such as +\csfmt{fieldfmt} (to format field names), \csfmt{abbrstylefmt} +(to format abbreviation style names) and \csfmt{glostylefmt} (to format +glossary style names). These occur in some of the section +and subsection headings in the \hyperref[sec:topics]{topic summary} +which are converted to \idx{titlecase} (see \csopt{field-case-change}). +These formatting commands shouldn't have their argument changed so they +are identified with: +\begin{codeenv} +\csopt[fieldfmt,abbrstylefmt,glostylefmt]{no-case-change-cs} +\end{codeenv} + \optsection[\subsubsection]{word-boundaries} Governs how the \optfmt{title} \idx{case-change} option @@ -9281,6 +10602,43 @@ the \field{name} field is missing no action is performed. Applies a case-change to the \field{description} field (if present). This option may take one of the values described above. +\optsection[\subsubsection]{field-case-change} + +A general case-change instruction. The value should be a +comma-separated list of \code{\meta{field}\dequals\meta{setting}} for each +field that needs a case-change applied. The value is required for this key but +may be empty, which indicates this option is switched off. + +The \meta{setting} should be +the same as the permitted values for the above options. This +option is applied after all fields have been parsed but before +\csopt{interpret-fields}. If the +specified field is missing, the fallback for that field (if known) is copied +into the field. For example: +\begin{codeenv} +\csopt[\field{user1}=uc,\field{user2}={firstuc}]{field-case-change} +\end{codeenv} +This manual provides a custom storage key called +\fieldfmt{nametitle}: +\begin{codeenv} +\cs{glsxtrprovidestoragekey}\marg{\fieldfmt{nametitle}}\marg{}\marg{} +\end{codeenv} +The resource options copy the \field{name} value to this custom +field and convert \fieldfmt{nametitle} to \idx{titlecase}: +\begin{codeenv} +\csopt[\field{name}=\fieldfmt{nametitle}]{replicate-fields}, +\csopt[\fieldfmt{nametitle}=title]{field-case-change}, +\end{codeenv} +This means that the \hyperref[sec:topics]{topic summary} +(page~\pageref{sec:topics}) can fetch the value of +\fieldfmt{nametitle} instead of \field{name}, which provides an +expandable \idx{titlecase} form that's suitable for the PDF +bookmarks. + +This option isn't cumulative. If used multiple times in the same +\idx{resourceset}, the last instance will be the one used. If +the \keyvallist\ is missing, no general case-changing is applied +(the default). \section{Plurals} \label{sec:plurals} @@ -9588,7 +10946,7 @@ provided by \styfmt{glossaries}. For example: \cs{glsfieldfetch}\marg{gls.sample}\marg{loclist}\marg{\cmd{loclist}}\comment{fetch location list} \cs{glsnoidxloclist}\marg{\cmd{loclist}}\comment{iterate over locations} \end{codeenv} -This uses \ics{glsnoidxloclisthandler} as the list's handler +This uses \ics{glsnoidxloclisthandler} as the list's \idx{handler} macro, which simply displays each location separated by \ics{delimN}. (See also \href{http://www.dickimaw-books.com/latex/admin/html/foreachtips.shtml}{Iteration @@ -9742,7 +11100,7 @@ You can switch from using the \field{location} field to the \cs{renewcommand}\marg{\cs{GlsXtrLocationField}}\marg{primarylocations}\comment{} } \end{codeenv} -Remember that the handler used by \cs{printunsrtglossary} will +Remember that the \idx{handler} used by \cs{printunsrtglossary} will fallback on the \field{loclist} field if the field identified by \cs{GlsXtrLocationField} is missing or empty. You may want to consider using \csopt[false]{save-loclist} to prevent this. @@ -9985,7 +11343,7 @@ considered consecutive. then the locations aren't considered consecutive. \item\label{itm.csmatch} If both \meta{location-1} and \meta{location-2} match the pattern (line break for clarity only)\footnote{The Java class \code{\csfmt{p}\marg{javaDigit}} -used in the regular expression will match any digits in the +used in the \idx{regex} will match any digits in the Unicode \idx{numberdecimaldigit} category not just the digits in the Basic Latin set. Similarly \code{\csfmt{p}\marg{javaAlphabetic}} will also match alphabetic characters outside the Basic Latin set.} \begin{verbatim} @@ -10209,6 +11567,51 @@ empty string. To remove the suffix formation use The default is \csopt[none]{suffixFF}. +\optsection{compact-ranges} + +The \meta{value} may be an integer \meta{n} or \optfmt{false} (equivalent to +\csopt[0]{compact-ranges}) or \optfmt{true} (equivalent to +\csopt[3]{compact-ranges}). If no \meta{value} is specified, +\optfmt{true} is assumed. + +This setting allows location ranges such as 184--189 to appear +more compactly as 184--9. The end location is encapsulated +in the command \gls{bibglscompact}, so the range would actually +become: +\begin{codeenv} +184\ics{delimR}\gls{bibglscompact}\marg{digit}\marg{18}\marg{9} +\end{codeenv} +If the location is in the form \code{\meta{cs}\margm{loc}} +(where \meta{cs} is a command) +then \gls{bibglscompact} will be inside the argument. +For example, if the range would normally be: +\begin{codeenv} +\cmd{custom}\marg{184}\ics{delimR}\cmd{custom}\marg{189} +\end{codeenv} +then it would become: +\begin{codeenv} +\cmd{custom}\marg{184}\ics{delimR}\cmd{custom}\marg{\gls{bibglscompact}\marg{digit}\marg{18}\marg{9}} +\end{codeenv} +The numerical value given in \csopt[\meta{n}]{compact-ranges} +indicates that compaction should only occur if the actual location +consists of at least \meta{n} characters, for $\meta{n} \geq 2$. +Any value of \meta{n} less than 2 will switch off compaction. + +For example, \code{189} consists of 3 characters, so it will be +compacted with \csopt[3]{compact-ranges} but not with +\csopt[4]{compact-ranges}. Whereas \code{\csfmt{custom}\marg{89}} +would only be compacted with \csopt[2]{compact-ranges} +because \code{89} only consists of 2 characters. + +The compaction isn't limited to decimal digits but it will only +occur if both the start and end location have the same number of +characters. For example, xvi--xviii can't be compacted because +the start consists of three characters and the end consists +of five characters, whereas xxv--xxx can be compacted to xxv--x, +which may look a little strange. In this case, you may want to +consider changing the definition of \cs{bibglscompact} so that +it only performs the compaction for digits. + \optsection{see} If an entry has a \field{see} field, this can be placed before or @@ -10932,7 +12335,50 @@ and also \csopt{sort-label-list} for sorting field values that contain a comma-separated list of entry labels (such as the \field{see} or \field{seealso} fields). -Remember that you can have \atentry{preamble} definitions that +The sort methods that use a comparison function (that is, all the +sort methods except those listed in \tableref{tab:sortoptionsnosort}) +require a sort value for each entry. The function compares these +values to determine the order. By default, this sort value is +obtained from the \field{sort} field but for greater flexibility +it's best to not actually set this field. \bibgls\ has a set of fallbacks +that it uses if a field it needs to access is missing. These +fallbacks depend on the entry type and resource settings. + +For example, if a term defined with \atentry{index} doesn't have the +\field{sort} field set then \bibgls\ will use the value given by the +\field{name} field because \field{name} is the fallback field for +\field{sort} for \atentry{index} entries. If the \field{name} field +isn't set either then \bibgls\ will use the fallback for that field. +In the case of \atentry{index} that's the entry's label. If the +\field{sort} field is explicitly set then there's no need to use the +fallback. + +If, on the other hand, a term defined with \atentry{symbol} doesn't +have the \field{sort} field set then \bibgls\ will use the value +from the field identified by \csopt{symbol-sort-fallback}, which is +the entry's label by default (not the \field{name} field). + +This means that if I don't explicitly set the \field{sort} field for +any entries then I can, for example, sort terms defined with +\atentry{index} by \field{name} and those defined with +\atentry{symbol} by \field{description} with the setting: +\begin{codeenv} +\csopt[description]{symbol-sort-fallback} +\end{codeenv} + +If the field used to obtain the sort value is changed +(with \csopt{sort-field}) then the \field{sort} field won't be +queried. This reduces the flexibility of selecting the most +appropriate field for given entry types. For example, +\csopt[name]{sort-field} will force all entries to be sorted by the +\field{name} field, which may not be appropriate for symbols. + +\begin{important} +If you choose a field whose value must be a label (such as +\field{parent} or \field{group}) then the sort value will be that label. +\end{important} + +You can have \atentry{preamble} definitions that can be hidden from \bibgls's interpreter. For example, \exfile{no-interpret-preamble.bib} might contain: \begin{codeenv} @@ -11902,12 +13348,19 @@ setting, the fallback for the \field{sort} field is governed not only by the entry type but also by some associated settings: \begin{itemize} -\item For entries types like \atentry{entry} or \atentry{index}, -then if the \field{sort} field is missing the value is obtained from -the \field{name} field. If that field is also missing, then the -value is obtained from the particular entry type's fallback for the -\field{name} field. (For example, \field{parent} for -\atentry{entry}.) +\item If the entry is defined using \atentry{entry} (or a dual form +that acts like \atentry{entry}), then if the \field{sort} field is +missing the value is obtained from the field identified by +\csopt{entry-sort-fallback}. If that field is also missing then +that field's fallback is used. + +\item For the index entry types like \atentry{index} or +\atentry{indexplural}, then if the \field{sort} field is missing the +value is obtained from the \field{name} field. If that field is also +missing, then the value is obtained from the particular entry type's +fallback for the \field{name} field. (For example, the entry's label +for \atentry{index} or the \field{plural} field for +\atentry{indexplural}.) \item If the entry is defined with an abbreviation type (for example, \atentry{abbreviation} or \atentry{acronym}) then if the @@ -11940,16 +13393,26 @@ missing, then \bibgls\ will query the entry type's fallback for \item If the entry type has a fallback rule for \meta{sort-field}, then that rule is used. When \csopt[sort]{sort-field} this means: \begin{itemize} +\item If the entry was defined using one of the index types (such as +\atentry{index}), then \bibgls\ will fallback on the \field{name} +field. + +\item If the entry was defined using the \atentry{entry} type (or a +dual form that acts like \atentry{entry}), then \bibgls\ will +fallback on the field given by \csopt{entry-sort-fallback}. + \item If the entry was defined using -one of the symbol types, then \bibgls\ -will fallback on the value given by \csopt{symbol-sort-fallback}. +one of the symbol types (such as \atentry{symbol}), then \bibgls\ +will fallback on the field given by \csopt{symbol-sort-fallback}. + \item If the entry was defined using -one of the abbreviation types, then \bibgls\ -will fallback on the value given by +one of the abbreviation types (such as \atentry{abbreviation}), then \bibgls\ +will fallback on the field given by \csopt{abbreviation-sort-fallback}. + \item If the entry was defined using \atentry{bibtexentry} (but not the spawned \atentry{contributor} entries), then \bibgls\ will -fallback on the value given by +fallback on the field given by \csopt{bibtexentry-sort-fallback}. \end{itemize} If \meta{sort-field} is not \field{sort}, then there may not be a @@ -11965,6 +13428,101 @@ separately from primaries, and use \csopt{secondary-missing-sort-fallback} for \csopt{secondary} sorting. +\optsection{entry-sort-fallback} + +The regular entry types (such as \atentry{entry} and +\atentry{dualentry}) will, by default, fallback on the \field{name} +field if the \field{sort} field is missing (assuming +\csopt[sort]{sort-field}). If you prefer to +fallback on a different field, then you can use this option to +specify the field. +Note that \csopt{missing-sort-fallback} overrides this setting. + +This setting doesn't affect the index type of entries, such as +\atentry{index} or \atentry{indexplural}. This is useful if your +glossary contains homographs (terms with the same spelling) which +can't be distinguished by the sort comparators. For example, suppose +my file \filefmt{entries.bib} contains: +\begin{codeenv} +\atentry{index}\marg{pagelist, + \field{name}=\marg{page list}, + \field{description}=\marg{a list of individual pages or page ranges} +} +\strut +\atentry{index}\marg{glossary} +\strut +\atentry{entry}\marg{glossarylist, + \field{parent}=\marg{glossary}, + \field{description}={list of technical words} +} +\strut +\atentry{entry}\marg{glosscol, + \field{parent}=\marg{glossary}, + \field{description}=\marg{collection of glosses} +} +\end{codeenv} +Now first consider a document that uses the default settings: +\begin{codeenv} +\cmd{documentclass}\marg{article} +\strut +\cmd{usepackage}\oarg{\styopt{record},\styopt{subentrycounter},\styopt[\glostyle{treenoname}]{style}}\marg{glossaries-extra} +\strut +\gls{GlsXtrLoadResources}\oarg{\csopt[entries]{src}} +\strut +\cmd{begin}\marg{document} +A test document describing \cs{glspl}\marg{pagelist} and +\cs{gls}\marg{glosscol} (collection) vs \cs{gls}\marg{glossarylist} (list). +\strut +\cs{printunsrtglossary} +\cmd{end}\marg{document} +\end{codeenv} +The default behaviour for \atentry{entry} if the \field{sort} field +is missing is to fallback on the \field{name} field. If the +\field{name} field is missing (as with \code{glossarylist} and +\code{glosscol}), then the value is obtained from the +\field{name} field from the parent entry. The parent entry for these +homographs is the \code{glossary} entry, which was defined with +\atentry{index} and doesn't have the \field{name} field. For the +\atentry{index} entries, if \field{name} is missing the value is +obtained from the label. + +Therefore both \code{glossarylist} and \code{glosscol} end +up with the same sort value: \code{glossary}. This triggers a +message in verbose mode (\longarg{verbose}) which can be found +in the transcript file: +\begin{verbatim} +Identical sort values for 'glossarylist' and 'glosscol' +Falling back on ID +\end{verbatim} +So the actual sort values used are \qt{glossarylist} and +\qt{glosscol}. This puts the \code{glossarylist} entry +before the \code{glosscol} entry. + +Now suppose a minor modification is made to the document: +\begin{codeenv} +\gls{GlsXtrLoadResources} + \oarg{ + \csopt[entries]{src}, + \csopt[description]{entry-sort-fallback} + } +\end{codeenv} +This means that when the sort function fails to find the +\field{sort} field for the terms defined with \atentry{entry}, it +will fallback on the \field{description} field. This doesn't affect +the terms defined with \atentry{index}, which still fallback on the +\field{name} field. This time there's no message in the transcript +file and the \code{glosscol} entry now comes before the +\code{glossarylist} entry. + +\begin{important} +The \csopt{entry-sort-fallback} setting is only used when \bibgls\ +tries to access the \field{sort} field for a term defined with +\atentry{entry} and finds that the field hasn't been set. This means +that this setting has no effect if you explicitly set the \field{sort} +field or if you change the field used for sorting +(\csopt{sort-field}). +\end{important} + \optsection{abbreviation-sort-fallback} The entry types that define abbreviations (such as @@ -11980,6 +13538,14 @@ omitted. The \meta{field} value must be a known field label. Note that \csopt{missing-sort-fallback} overrides this setting. +\begin{important} +The \csopt{abbreviation-sort-fallback} setting is only used when \bibgls\ +tries to access the \field{sort} field for an abbreviation and finds +that the field hasn't been set. This means that this setting has no effect +if you explicitly set the \field{sort} field or if you change the field used +for sorting (\csopt{sort-field}). +\end{important} + \optsection{symbol-sort-fallback} The entry types that define symbols (such as \atentry{symbol} and @@ -11992,6 +13558,14 @@ must be a known field label. Note that \csopt{missing-sort-fallback} overrides this setting. +\begin{important} +The \csopt{symbol-sort-fallback} setting is only used when \bibgls\ +tries to access the \field{sort} field for a symbol and finds +that the field hasn't been set. This means that this setting has no effect +if you explicitly set the \field{sort} field or if you change the field used +for sorting (\csopt{sort-field}). +\end{important} + \optsection{bibtexentry-sort-fallback} The main \atentry{bibtexentry} entry types will, by default, @@ -12002,6 +13576,15 @@ field, then you can use this option to specify the field. Note that \csopt{missing-sort-fallback} overrides this setting. +\begin{important} +The \csopt{bibtexentry-sort-fallback} setting is only used when +\bibgls\ tries to access the \field{sort} field for a main entry +defined with \atentry{bibtexentry} and finds that the field hasn't +been set. This means that this setting has no effect if you +explicitly set the \field{sort} field or if you change the field used for +sorting (\csopt{sort-field}). +\end{important} + \optsection{trim-sort} If the interpreter is used to determine the sort value, this setting @@ -12013,8 +13596,11 @@ and \csopt[\meta{boolean}]{secondary-trim-sort}. \optsection{sort-replace} -This option may be used to perform regular expression substitutions +This option may be used to perform \idx{regex} substitutions on the sort value and has the same syntax as \csopt{labelify-replace}. +The value is required for this key but may be empty, which indicates +that the setting is switched off. + This action is done after the interpreter parses the sort value (if applicable) and before \csopt{sort-number-pad} (if applicable). For example, suppose the sort value is: @@ -13036,7 +14622,8 @@ the year and era: If the \field{group} field hasn't been set in the \ext{bib} file or through options like \csopt{group}, then it is -assigned according to this option's setting during sorting. Permitted values: +assigned according to this option's setting during sorting if +\longarg{group} has been used. Permitted values: \begin{itemize} \item\optfmt{default}: the group is assigned according to the sort method's default group formation. This is the default @@ -13071,6 +14658,9 @@ significant character of the sort value. For example, the label This option has no effect with \longarg{no-group} or if no sorting is applied. Use \csopt{secondary-group-formation} for secondary sorting and \csopt{dual-group-formation} for dual entries. +Settings other than the default can cause the groups to become +fragmented, so care is needed if you use this option. +See also \sectionref{sec:logicaldivisions}. \section{Secondary Glossary} \label{sec:secondaryopts} @@ -13469,6 +15059,11 @@ set with \csopt{type}). If the primary entry doesn't have the \field{type} field set, the dual's \field{type} will remain unchanged. +\item \optfmt{same as parent}: sets the \field{type} to the same as +the entry's parent (new to v1.9). If the entry doesn't have a parent +or if the parent doesn't have the \field{type} field set, then +no change is made. + \item \meta{label}: sets the \field{type} field to \meta{label}. \end{itemize} @@ -14562,6 +16157,205 @@ The definition written to the \ext{glstex} file is: } \end{codeenv} +\cssection{bibglsnewprogenitor} + +\formatdef{bibglsnewprogenitor} +This command is used to define the main terms created by +\atentry{progenitor}. The definition is written to the \ext{glstex} +file as: +\begin{codeenv} +\cs{providecommand}\marg{\gls{bibglsnewprogenitor}}[4]\marg{\comment{} + \cs{longnewglossaryentry*}\marg{\idx{param}1}\marg{\field{name}=\marg{\idx{param}3},\idx{param}2}\marg{\idx{param}4}\comment{} +} +\end{codeenv} + +\cssection{bibglsnewspawnindex} + +\formatdef{bibglsnewspawnindex} +This command is used to define the main terms created by +\atentry{spawnindex}. The definition is written to the \ext{glstex} +file as: +\begin{codeenv} +\cs{providecommand}\marg{\gls{bibglsnewspawnindex}}[4]\marg{\comment{} + \cs{longnewglossaryentry*}\marg{\idx{param}1}\marg{\field{name}=\marg{\idx{param}3},\idx{param}2}\marg{\idx{param}4}\comment{} +} +\end{codeenv} + +\cssection{bibglsnewspawnedindex} + +\formatdef{bibglsnewspawnedindex} +This command is used to define the terms spawned by +\atentry{progenitor} or \atentry{spawnindex}. The definition is written +to the \ext{glstex} file as: +\begin{codeenv} +\cs{providecommand}\marg{\gls{bibglsnewspawnedindex}}[2]\marg{\comment{} + \gls{newglossaryentry}\marg{\idx{param}1}\marg{\field{name}=\marg{\idx{param}1},\field{category}={index},\field{description}=\marg{},\idx{param}2}\comment{} +} +\end{codeenv} + +\cssection{bibglsnewspawnindexplural} + +\formatdef{bibglsnewspawnindexplural} +This command is used to define the main terms created by +\atentry{spawnindexplural}. The definition is written to the \ext{glstex} +file as: +\begin{codeenv} +\cs{providecommand}\marg{\gls{bibglsnewspawnindexplural}}[4]\marg{\comment{} + \cs{longnewglossaryentry*}\marg{\idx{param}1}\marg{\field{name}=\marg{\idx{param}3},\idx{param}2}\marg{\idx{param}4}\comment{} +} +\end{codeenv} + +\cssection{bibglsnewspawnedindexplural} + +\formatdef{bibglsnewspawnedindexplural} +This command is used to define the terms spawned by +\atentry{spawnindexplural}. +The definition is written to the \ext{glstex} file as: +\begin{codeenv} +\cs{providecommand}\marg{\gls{bibglsnewspawnedindexplural}}[3]\marg{\comment{} + \gls{newglossaryentry}\marg{\idx{param}1}\marg{\field{name}=\marg{\idx{param}3},\field{category}=\marg{indexplural},\field{description}=\marg{},\idx{param}2}\comment{} +} +\end{codeenv} + +\cssection{bibglsnewspawnentry} + +\formatdef{bibglsnewspawnentry} +This command is used to define the main terms created by +\atentry{spawnentry}. The definition is written to the \ext{glstex} +file as: +\begin{codeenv} +\cs{providecommand}\marg{\gls{bibglsnewspawnentry}}[4]\marg{\comment{} + \cs{longnewglossaryentry*}\marg{\idx{param}1}\marg{\field{name}=\marg{\idx{param}3},\idx{param}2}\marg{\idx{param}4}\comment{} +} +\end{codeenv} + +\cssection{bibglsnewspawnedentry} + +\formatdef{bibglsnewspawnedentry} +This command is used to define the terms spawned by \atentry{spawnentry}. +The definition is written to the \ext{glstex} file as: +\begin{codeenv} +\cs{providecommand}\marg{\gls{bibglsnewspawnedentry}}[4]\marg{\comment{} + \cs{longnewglossaryentry*}\marg{\idx{param}1}\marg{\field{name}=\marg{\idx{param}3},\idx{param}2}\marg{\idx{param}4}\comment{} +} +\end{codeenv} + +\cssection{bibglsnewspawnabbreviation} + +\formatdef{bibglsnewspawnabbreviation} +This command is used to define the main terms created by +\atentry{spawnabbreviation}. The definition is written to the \ext{glstex} +file as: +\begin{codeenv} +\cs{providecommand}\marg{\gls{bibglsnewspawnabbreviation}}[4]\marg{\comment{} + \gls{newabbreviation}\oarg{\idx{param}2}\marg{\idx{param}1}\marg{\idx{param}3}\marg{\idx{param}4}\comment{} +} +\end{codeenv} + +\cssection{bibglsnewspawnedabbreviation} + +\formatdef{bibglsnewspawnedabbreviation} +This command is used to define the terms spawned by \atentry{spawnabbreviation}. +The definition is written to the \ext{glstex} file as: +\begin{codeenv} +\cs{providecommand}\marg{\gls{bibglsnewspawnedabbreviation}}[4]\marg{\comment{} + \gls{newabbreviation}\oarg{\idx{param}2}\marg{\idx{param}1}\marg{\idx{param}3}\marg{\idx{param}4}\comment{} +} +\end{codeenv} + +\cssection{bibglsnewspawnacronym} + +\formatdef{bibglsnewspawnacronym} +This command is used to define the main terms created by +\atentry{spawnacronym}. The definition is written to the \ext{glstex} +file as: +\begin{codeenv} +\cs{providecommand}\marg{\gls{bibglsnewspawnacronym}}[4]\marg{\comment{} + \gls{newacronym}\oarg{\idx{param}2}\marg{\idx{param}1}\marg{\idx{param}3}\marg{\idx{param}4}\comment{} +} +\end{codeenv} + +\cssection{bibglsnewspawnedacronym} + +\formatdef{bibglsnewspawnedacronym} +This command is used to define the terms spawned by \atentry{spawnacronym}. +The definition is written to the \ext{glstex} file as: +\begin{codeenv} +\cs{providecommand}\marg{\gls{bibglsnewspawnedacronym}}[4]\marg{\comment{} + \gls{newacronym}\oarg{\idx{param}2}\marg{\idx{param}1}\marg{\idx{param}3}\marg{\idx{param}4}\comment{} +} +\end{codeenv} + +\cssection{bibglsnewspawnsymbol} + +\formatdef{bibglsnewspawnsymbol} +This command is used to define the main terms created by +\atentry{spawnsymbol}. The definition is written to the \ext{glstex} +file as: +\begin{codeenv} +\cs{providecommand}\marg{\gls{bibglsnewspawnsymbol}}[4]\marg{\comment{} + \cs{longnewglossaryentry*}\marg{\idx{param}1}\marg{\field{name}=\marg{\idx{param}3},\idx{param}2}\marg{\idx{param}4}\comment{} +} +\end{codeenv} + +\cssection{bibglsnewspawnedsymbol} + +\formatdef{bibglsnewspawnedsymbol} +This command is used to define the terms spawned by \atentry{spawnsymbol}. +The definition is written to the \ext{glstex} file as: +\begin{codeenv} +\cs{providecommand}\marg{\gls{bibglsnewspawnedsymbol}}[4]\marg{\comment{} + \cs{longnewglossaryentry*}\marg{\idx{param}1}\marg{\field{name}=\marg{\idx{param}3},\field{sort}=\marg{\idx{param}1},\field{category}=\marg{spawnedsymbol},\idx{param}2}\marg{\idx{param}4}} +\end{codeenv} + +\cssection{bibglsnewspawnnumber} + +\formatdef{bibglsnewspawnnumber} +This command is used to define the main terms created by +\atentry{spawnnumber}. The definition is written to the \ext{glstex} +file as: +\begin{codeenv} +\cs{providecommand}\marg{\gls{bibglsnewspawnnumber}}[4]\marg{\comment{} + \cs{longnewglossaryentry*}\marg{\idx{param}1}\marg{\field{name}=\marg{\idx{param}3},\idx{param}2}\marg{\idx{param}4}\comment{} +} +\end{codeenv} + +\cssection{bibglsnewspawnednumber} + +\formatdef{bibglsnewspawnednumber} +This command is used to define the terms spawned by \atentry{spawnnumber}. +The definition is written to the \ext{glstex} file as: +\begin{codeenv} +\cs{providecommand}\marg{\gls{bibglsnewspawnednumber}}[4]\marg{\comment{} + \cs{longnewglossaryentry*}\marg{\idx{param}1}\marg{\field{name}=\marg{\idx{param}3},\field{sort}=\marg{\idx{param}1},\field{category}=\marg{spawnednumber},\idx{param}2}\marg{\idx{param}4}} +\end{codeenv} + +\cssection{bibglsnewspawndualindexentry} + +\formatdef{bibglsnewspawndualindexentry} +This command is used to define the \idx{progenitor}['s] primary term created by +\atentry{spawndualindexentry}. +The definition is written to the \ext{glstex} file as: +\begin{codeenv} +\cs{providecommand}\marg{\gls{bibglsnewspawndualindexentry}}[4]\marg{\comment{} + \cs{longnewglossaryentry*}\marg{\idx{param}1}\marg{\field{name}=\marg{\idx{param}3},\field{category}=\marg{index},\idx{param}2}{}\comment{} +} +\end{codeenv} +The \meta{description} argument is ignored. + +\cssection{bibglsnewspawndualindexentrysecondary} + +\formatdef{bibglsnewspawndualindexentrysecondary} +This command is used to define the \idx{progenitor}['s] secondary +(dual) term created by +\atentry{spawndualindexentry}. +The definition is written to the \ext{glstex} file as: +\begin{codeenv} +\cs{providecommand}\marg{\gls{bibglsnewspawndualindexentrysecondary}}[4]\marg{\comment{} + \cs{longnewglossaryentry*}\marg{\idx{param}1}\marg{\field{name}=\marg{\idx{param}3},\idx{param}2}\marg{\idx{param}4}\comment{} +} +\end{codeenv} + \section{Location Lists and Cross-References} \label{sec:loclistdefs} @@ -14639,6 +16433,19 @@ This defaults to \ics{delimN}. Separator between penultimate and final individual locations. This defaults to \code{,\idx{nbspchar}} to discourage lonely locations. +\cssection{bibglscompact} + +\formatdef{bibglscompact} +The first argument \meta{pattern} indicates the location pattern: +\code{digit} for digits, \code{roman} for \idx!{lowercase} +Roman numerals, \code{ROMAN} for \idx!{uppercase} Roman +numerals and \code{alpha} for alphabetical locations. The actual +location is split into two parts, \meta{part1} and \meta{part2}. +The string concatenation \meta{part1}\meta{part2} forms the +actual location. + +This just does \meta{part2} by default. + \cssection{bibglspassim} \formatdef{bibglspassim} @@ -15218,7 +17025,7 @@ For example, suppose the \ext{bib} file contains entries in the form: \begin{codeenv} \atentry{dualentry}\marg{\meta{label}, - \field{name} = \marg{\ics{cjkname}\margm{\idx{CJK} characters}}, + \field{name} = \marg{\gls{cjkname}\margm{\idx{CJK} characters}}, \field{description} = \margm{English translation} } \end{codeenv} @@ -15230,7 +17037,7 @@ and the document contains: \cs{newglossary*}\marg{japanese}\marg{Japanese to English} \cs{newglossary*}\marg{english}\marg{English to Japanese} \strut -\ics{newrobustcmd}\marg{\cmd{cjkname}}[1]\marg{\cmd{begin}\marg{CJK}\marg{UTF8}\marg{min}\idx{param}1\cmd{end}\marg{CJK}} +\ics{newrobustcmd}\marg{\gls{cjkname}}[1]\marg{\cmd{begin}\marg{CJK}\marg{UTF8}\marg{min}\idx{param}1\cmd{end}\marg{CJK}} \strut \gls{GlsXtrLoadResources}\oarg{ \csopt[testcjk]{src},\comment{bib file} @@ -15244,19 +17051,19 @@ and the document contains: then \idx{CJK} characters will appear in the \meta{title} argument of \gls{bibglslettergrouptitle} which causes a problem because they need to be encapsulated within the \env{CJK} environment. This can be more -conveniently done with the user supplied \csfmt{cjkname}, but the \idx{CJK} +conveniently done with the user supplied \inlinedef{cjkname}, but the \idx{CJK} characters need to be protected from expansion so \ics{unexpanded} is also needed. The new definition of \gls{bibglslettergrouptitle} needs to be defined before \gls{GlsXtrLoadResources}. For example: \begin{codeenv} -\cs{newcommand}\marg{\gls{bibglslettergrouptitle}}[4]\marg{\cs{unexpanded}\marg{\cmd{cjkname}\marg{\idx{param}1}}} +\cs{newcommand}\marg{\gls{bibglslettergrouptitle}}[4]\marg{\cs{unexpanded}\marg{\gls{cjkname}\marg{\idx{param}1}}} \end{codeenv} There's a slight problem here in that the English letter group titles also end up encapsulated. An alternative approach is to use the \meta{type} part to provide different forms. For example: \begin{codeenv} \cs{newcommand}*\marg{\cmd{englishlettergroup}}[1]\marg{\idx{param}1} -\cs{newcommand}*\marg{\cmd{japaneselettergroup}}[1]\marg{\cmd{cjkname}\marg{\idx{param}1}} +\cs{newcommand}*\marg{\cmd{japaneselettergroup}}[1]\marg{\gls{cjkname}\marg{\idx{param}1}} \cs{newcommand}\marg{\gls{bibglslettergrouptitle}}[4]\marg{\comment{} \cs{unexpanded}\marg{\cs{csuse}\marg{\idx{param}4lettergroup}\marg{\idx{param}1}}} \end{codeenv} @@ -15829,6 +17636,40 @@ have multiple resource sets, that option governs the way \bibgls's version of \gls{bibglscontributor} behaves. The definition is written to the \ext{glstex} using \cs{providecommand}, so \LaTeX\ will only pick up the first definition. +\cssection{bibglsdatetime} + +\formatdef{bibglsdatetime} +Used to encapsulate date-time fields identified with +\csopt{date-time-fields}. +Since \gls{bibglsdatetime} requires more than nine arguments, the +remaining four arguments are picked up with: +\nosecdef{bibglsdatetimeremainder} +The default definitions are: +\begin{codeenv} +\cs{providecommand}\marg{\gls{bibglsdatetime}}[9]\marg{\gls{bibglsdatetimeremainder}} +\cs{providecommand}\marg{\gls{bibglsdatetimeremainder}}[4]\marg{\idx{param}4} +\end{codeenv} + +\cssection{bibglsdate} + +\formatdef{bibglsdate} +Used to encapsulate date fields identified with +\csopt{date-fields}. +The default definition is: +\begin{codeenv} +\cs{providecommand}\marg{\gls{bibglsdate}}[7]\marg{\idx{param}7} +\end{codeenv} + +\cssection{bibglstime} + +\formatdef{bibglstime} +Used to encapsulate date fields identified with +\csopt{time-fields}. +The default definition is: +\begin{codeenv} +\cs{providecommand}\marg{\gls{bibglstime}}[7]\marg{\idx{param}7} +\end{codeenv} + \cssection{bibglsprimaryprefixlabel} \formatdef{bibglsprimaryprefixlabel} @@ -15913,6 +17754,7 @@ Converts the first letter of \meta{text} to \idx{uppercase}. This just uses \chapter{Converting Existing \iext{tex} to \iext{bib}} \label{sec:gls2bib} +\setsecdepth{0} If you have already been using the \styfmt{glossaries} or \styfmt{glossaries-extra} package with a large file containing all your @@ -15960,6 +17802,9 @@ sort value than either \idx!{makeindex} or \idx!{xindy}. \item[\longargfmt{no-ignore-sort}] Don't ignore the \field{sort} field. +\item[\longargfmt{locale} \meta{lang tag}] Identifies the \langxml\ +to use for \idx{convertgls2bib}['s] messages. + \item[\longargfmt{silent}] Suppress all messages except for errors. \item[\longargfmt{verbose}] Display messages and warnings (default). @@ -16293,7 +18138,7 @@ contain: \chapter{Examples} \label{sec:examples} -\setcounter{secnumdepth}{0} +\setsecdepth*{0} The example files described here can be found in the \filefmt{examples} sub-directory. The \ext{bib} files are listed @@ -16975,6 +18820,8 @@ which is used to format the set contents, which is used to format the set membership criteria, \nosecdef{setcardfmt} which is used to format the cardinality of a set, +(Note this uses \ics{vert} not \textbar\ as in some of the earlier +examples.) \nosecdef{numspacefmt} which is used to format \meta{symbol} as a number space, \nosecdef{transposefmt} @@ -17399,6 +19246,14 @@ are no custom fields here. The contents of \filefmt{terms.bib} are as follows: \lstinputlisting[firstline=5]{../examples/terms.bib} +\filesection{topics.bib} + +The \exfile{topics.bib} file contains entries defined using +\atentry{index}. Again there are no custom fields here. + +The contents of \filefmt{topics.bib} are as follows: +\lstinputlisting[firstline=5]{../examples/topics.bib} + \filesection{sample-constants.tex} This example uses the \exfile{constants.bib} file. The aim here @@ -17643,6 +19498,8 @@ redefine this as well: \end{codeenv} (For a more compact layout, you could use \glostyle{mcolalttreegroup} instead.) +I also need the \longarg{group} switch to make the sort method +automatically assign letter groups. The complete code is listed below. The document build is: \begin{verbatim} @@ -17724,6 +19581,8 @@ the \ext{log} file, you may notice that \sty{glossary-tree} is still loaded. This is because it's required by \sty{glossary-bookindex} as the \glostyle{bookindex} style is based on the \glostyle{index} style provided by \sty{glossary-tree}. +With this style I need to use the \longarg{group} switch to instruct +the sort method to automatically create the letter groups. The \glostyle{bookindex} style doesn't show the \field{description} field (which means I don't need the \catattr{glossdescfont} @@ -17820,6 +19679,8 @@ for the second, and then set the group titles: \end{codeenv} I've used this method to make it easier to adapt to other languages that may need extended characters in the group titles. +The \csopt{group} option requires the \longarg{group} switch to +ensure that the \field{group} field is correctly assigned. The \exfile{baseunits.bib} file use a custom entry type \atentryfmt{unit}, which must be aliased otherwise \bibgls\ @@ -17915,6 +19776,8 @@ for the second. Similarly for the custom entry fields: \fieldfmt{measurement}=\field{description} ]{field-aliases} \end{codeenv} +The \longarg{group} switch is needed to ensure that the +\field{group} field is automatically assigned by the sort method. The complete document code is listed below. The document build is: \begin{verbatim} @@ -18022,6 +19885,9 @@ There are no sub-entries in this document so I haven't bothered to redefine \ics{subglossentry}. (The tabular styles aren't appropriate for hierarchical glossaries.) This puts the symbol into the third column (rather than the location list, which is ignored). +This style supports the letter group separator (although it doesn't +title the groups), so if I want this I need to use the +\longarg{group} switch. I also need to make sure I've defined a glossary for the dual entries: @@ -18191,6 +20057,8 @@ the books that have been referenced by the film entries. Since this looks a bit odd, I've added \csopt[false]{save-locations} to prevent \bibgls\ from saving the locations. +I've used a style that shows letter group headings so I need to use +the \longarg{group} switch. The complete document code is listed below. The document build is: \begin{verbatim} pdflatex sample-media @@ -18221,6 +20089,8 @@ document. The first two lists shouldn't include aliases but the index should. Not all the entries defined in \exfile{people.bib} are included in the document. Those that aren't either explicitly referenced or aliased are filtered by the \csopt{selection} criteria. +I've used a style that shows letter group headings so I need to use +the \longarg{group} switch. Since this is just an example document all the \cs{gls} commands only occur on page~1, which means that each number list is just @@ -18508,6 +20378,8 @@ This example uses the files \exfile{people.bib}, in \exfile{books.bib} and have them listed by author. This means finding a way of assigning each book entry a \field{parent} field that contains the label identifying the relevant author in \exfile{people.bib}. +I've used a style that shows letter group headings so I need to use +the \longarg{group} switch. To recap, each author is defined in \exfile{people.bib} in the form: \begin{codeenv} @@ -18723,6 +20595,13 @@ redefining \ics{glsxtrgroupfield} to \code{category}: \cs{renewcommand}\marg{\cs{glstreegroupheaderfmt}}[1]\marg{\ics{textbf}\marg{\idx{param}1}}\comment{} } \end{codeenv} +This again contradicts the advice given in +\sectionref{sec:logicaldivisions} as I'm sorting by the +\field{group} label. (Technically it's sorting by the +\field{category} label but this is being used as the group.) In this +case it's not a problem as the labels closely match the titles and +the sorting options ensure that the groups aren't broken up. + There's no \field{description} field set for these entries, but the \idx{postdescriptionhook} can still be used to append information. In this case, I've appended a cross-reference to the bibliography. @@ -18757,7 +20636,7 @@ This allows the titles to be listed as well: \marg{\ics{par} No titles.}\comment{} } \end{codeenv} -The handler macro displays the name of the associated +The \idx{handler} macro displays the name of the associated \atentry{bibtexentry} term and the citation: \begin{codeenv} \cs{newcommand}\marg{\csfmt{contributorhandler}}[1]\marg{\cs{par}\ics{glsentryname}\marg{\idx{param}1} \cs{cite}\marg{\idx{param}1}} @@ -18766,7 +20645,7 @@ The handler macro displays the name of the associated The complete document code is listed below. The document build is: \begin{verbatim} pdflatex sample-citations -bib2gls --group --cite-as-record sample-citations +bib2gls --cite-as-record sample-citations bibtex sample-citations pdflatex sample-citations pdflatex sample-citations @@ -18801,11 +20680,6 @@ the \styopt{stylemods} package option: \styopt[mcols]{stylemods},\comment{load glossary-mcols.sty and patch} \styopt[mcolalttree]{style}}\marg{glossaries-extra} \end{codeenv} -I'm not using a group-based style which suggests that I don't need the -\longarg{group} switch. However, although I don't want group titles, -I still want a slight gap between logical groups, which means that I -still need this switch. If I added the \styopt{nogroupskip} package -option, then I can omit \longarg{group}. I'm not referencing any of the entries in the document as I'm just generating a complete list of all the defined symbols. This means I @@ -18818,22 +20692,28 @@ the \field{location} field: Since I'm using a style that's based on \glostyle{alttree} I need to find the widest \field{name}, which can be done with \csopt{set-widest}. -I've used \csopt{field-aliases} to convert the custom -\fieldfmt{identifier} field to \field{category}, which means I can -also sort by that field: +The simplest way of dividing the glossary into logical blocks is to +sort according to the category, but first I need to use \csopt{field-aliases} +to convert the custom \fieldfmt{identifier} field to \field{category}: \begin{codeenv} -\csopt[\field{category}]{sort-field}, \csopt[\fieldfmt{identifier}=\field{category}]{field-aliases} \end{codeenv} +and sort by the \field{category} field: +\begin{codeenv} +\csopt[\field{category}]{sort-field} +\end{codeenv} Since this will cause identical sort values, I need to provide a -fallback. Here I've decided to fallback on the \field{description} -field: +a way of ordering these identical values. Here I've decided +to fallback on the \field{description} field: \begin{codeenv} \csopt[\field{description}]{identical-sort-action} \end{codeenv} This means that entries will be ordered by \field{category} and then \field{description}, which naturally creates blocks of symbol -types in the glossary. +types in the glossary. This only uses a simple case-sensitive string +comparison which is fine for English, but for another language it +would be better to use \csopt{sort-suffix} as in the +\exfile{sample-textsymbols.tex} file. Remember that I want a small vertical gap between each logical block. These need the \field{group} field which, with the default @@ -18850,15 +20730,22 @@ fetch its value from the \field{category} field: \end{codeenv} (Since the \csopt{field-aliases} option is always performed before \csopt{replicate-fields}, the \field{category} field will already -have been set and is available for replicating.) This means that the -\field{group} label is the same as the \field{category} label rather -than just the first letter. (For a quick check, change the glossary -style to \glostyle{mcolalttreegroup} to display the group titles.) +have been set and is available for replicating.) + +This means that I'm essentially sorting by the \field{group} labels, +which this manual has warned against doing. In this case, it's an +acceptable break from that rule as I've used options that ensure the +groups aren't broken up during sorting and I'm not concerned with the group +titles. A method such as that used in \exfile{sample-textsymbols2.tex} +would end up with titled blocks, which I don't want here. By using +resource options such as \csopt{field-aliases} and +\csopt{replicate-fields} I can avoid the warning that's triggered +with the default \longarg{warn-non-bib-fields}. The complete document code is listed below. The document build is: \begin{verbatim} pdflatex sample-msymbols -bib2gls --group sample-msymbols +bib2gls sample-msymbols pdflatex sample-msymbols \end{verbatim} The resulting document is shown in \figureref{fig:sample-msymbols.pdf}. @@ -18895,6 +20782,11 @@ I've aliased \fieldfmt{format} to \field{user1} since \gls!{glsxtrfmt} defaults to that field. If I decided to use a different field I also need to remember to redefine \ics{GlsXtrFmtField} to match. +As with \exfile{sample-msymbols.tex} I'm sorting by the +\field{category} label and this value is copied to the \field{group} +field, but again I don't have a hierarchical glossary as the logical +blocks don't have titles. + In this document I only want to select entries that have been indexed, so I've omitted the \csopt{selection} option I used in the \exfile{sample-msymbols.tex} example, however @@ -18931,7 +20823,8 @@ Be careful with the set cardinality example. You might be tempted to nest \csfmt{set} within the argument of \csfmt{setcard} but this results in nested hyperlinks. These are unpredictable and there's no consistent handling of them between different PDF viewers. It can -also be confusing to the reader. If $|\mathcal{B}_1\cup\mathcal{B}_2|$ +also be confusing to the reader. If +$\lvert\mathcal{B}_1\cup\mathcal{B}_2\rvert$ shows up as what appears to be a single hyperlink, where would the reader expect the target? This is the reason for providing the non-linking commands like \csfmt{nlset} and \csfmt{nlsetcard}. @@ -18939,7 +20832,7 @@ non-linking commands like \csfmt{nlset} and \csfmt{nlsetcard}. The complete document code is listed below. The document build is: \begin{verbatim} pdflatex sample-maths -bib2gls --group sample-maths +bib2gls sample-maths pdflatex sample-maths \end{verbatim} The resulting document is shown in \figureref{fig:sample-maths.pdf}. @@ -18957,8 +20850,8 @@ The resulting document is shown in \figureref{fig:sample-maths.pdf}. \filesection{sample-textsymbols.tex} -This example uses \exfile{miscsymbols.bib}. This requires both -\isty{marvosym} and (with the \styoptfmt{weather} option) +This example uses \exfile{miscsymbols.bib}. +This requires both \isty{marvosym} and (with the \styoptfmt{weather} option) \isty{ifsym}. Unfortunately both define the commands \csfmt{Sun} and \csfmt{Lightning}, so these commands need to be undefined after the first package is loaded and before the second. @@ -18982,7 +20875,7 @@ demonstrates how to deal with such conflicts.) The custom entry type \atentryfmt{icon} must be aliased for the entries to be recognised: \begin{codeenv} -\csopt[unit=symbol]{entry-type-aliases} +\csopt[icon=symbol]{entry-type-aliases} \end{codeenv} Since none of the entries have a \field{name} or \field{description} @@ -19026,15 +20919,23 @@ since it doesn't recognise any of the commands, so it will have to use the fallback command, which will use one of the commands provided by the \sty{glossaries-extra-stylemods} package. +This is actually not the best method as \bibgls\ can't see the group +titles as they're in the document, so it's only able to sort by the +label. While this might work for English, it can become a problem +for other languages that use extended Latin or non-Latin characters +in their alphabet. A much better method is to treat this as a +hierarchical glossary with topic titles as the top-level entries. +This is covered in the next example \exfile{sample-textsymbols2.tex}. + The complete document code is listed below. The document build is: \begin{verbatim} pdflatex sample-textsymbols -bib2gls --group sample-textsymbols +bib2gls sample-textsymbols pdflatex sample-textsymbols \end{verbatim} The resulting document is shown in \figureref{fig:sample-textsymbols.pdf}. -\lstinputlisting[firstline=5]{../examples/sample-textsymbols.tex} +\lstinputlisting[firstline=6]{../examples/sample-textsymbols.tex} \begin{figure} \figcontents @@ -19045,6 +20946,86 @@ The resulting document is shown in \figureref{fig:sample-textsymbols.pdf}. {fig:sample-textsymbols.pdf} \end{figure} +\filesection{sample-textsymbols2.tex} + +This example is a better approach than the +\exfile{sample-textsymbols.tex} example above. As with the previous +example, this requires both \isty{marvosym} and \isty{ifsym} so the +same patch is applied to avoid conflict. + +As before, the custom entry type \atentryfmt{icon} must be aliased for the +entries to be recognised: +\begin{codeenv} +\csopt[icon=symbol]{entry-type-aliases} +\end{codeenv} + +The \exfile{topics.bib} file contains terms with +labels that match the custom \fieldfmt{identifier} fields used in +the \exfile{miscsymbols.bib} file. So both files are loaded and the +\fieldfmt{identifier} field is now aliased to \field{parent}. These +parent entries represent the topics and unlike the previous example +it's now possible to sort by the topic title (obtained from the +\field{name} field) instead of by the label. +\begin{codeenv} +\csopt[topics,miscsymbols]{src}, +\csopt[ + \fieldfmt{identifier}=\field{parent}, + \fieldfmt{icon}=\field{name}, + \fieldfmt{icondescription}=\field{description}]{field-aliases}, +\end{codeenv} +There's no \csopt{sort-field} option in this example. The default +\field{sort} field is used. Since it's not set for any of the +entries, the fallback value will be used. In the case of the topic +titles (\atentry{index} and \atentry{indexplural}), I want to sort +by the \field{name}, which is the default fallback if the +\field{sort} field is missing for the index entry types. + +The default fallback for the \field{sort} field for \atentry{symbol} +entries is the label, but in this case I want to use the +\field{description} field: +\begin{codeenv} + \csopt[description]{symbol-sort-fallback} +\end{codeenv} +The best styles for this kind of glossary are the topic styles +provided by \isty{glossary-topic}. This package was only added to +\sty{glossaries-extra} v1.40, so you need to make sure you have at +least that version installed. + +In this case I've decided to use the \glostyle{topic} style. I can +use it with or without the \csopt{set-widest} option. +As with the previous example, \bibgls\ won't be able to determine +the widest name since it doesn't recognise any of the commands +contained in the \field{name} fields, so it will have to use the +fallback method, which will use one of the commands provided by the +\sty{glossaries-extra-stylemods} package. The \code{tree} option is +needed to enable the appropriate commands: +\begin{codeenv} +\cmd{usepackage}\oarg{\styopt{record}, + \styopt{nostyles}, + \styopt{postdot}, + \styopt[tree,topic]{stylemods}, + \styopt[topic]{style}}\marg{glossaries-extra} +\end{codeenv} + +The complete document code is listed below. The document build is: +\begin{verbatim} +pdflatex sample-textsymbols2 +bib2gls --group sample-textsymbols2 +pdflatex sample-textsymbols2 +\end{verbatim} +The resulting document is shown in \figureref{fig:sample-textsymbols2.pdf}. + +\lstinputlisting[firstline=5]{../examples/sample-textsymbols2.tex} + +\begin{figure} +\figcontents +{% + \frame{\includegraphics[height=.9\textheight]{../examples/sample-textsymbols2.pdf}}% +} +{\caption{\filefmt{sample-textsymbols2.pdf}}} +{fig:sample-textsymbols2.pdf} +\end{figure} + \filesection{sample-markuplanguages.tex} This example uses \exfile{markuplanguages.bib}. Since the file @@ -19291,7 +21272,7 @@ field is required. The simplest way to get this is to use given field (\fieldfmt{language} in this case) and break out of the loop (with \ics{glsxtrendfor}) once the language has been found. -The handler function (\csfmt{addfirstlang}) is defined so that it +The \idx{handler} function (\csfmt{addfirstlang}) is defined so that it adds the given language tag as a tracked language using \ics{TrackLocale}. This command sets \ics{TrackLangLastTrackedDialect} to the associated @@ -20541,6 +22522,7 @@ The resulting document is shown in \figureref{fig:sample-multi2.pdf}, \printstyoptsummary \printcommandsummary +%\printcommandtopic \bibliographystyle{plain} \bibliography{bib2gls-cite} @@ -20559,6 +22541,9 @@ The resulting document is shown in \figureref{fig:sample-multi2.pdf}, {\nobreak\cleaders\hbox to .44em{\hss\textcolor{lightgray}{.}\hss}\hfill}% {\glsxtrprelocation}% } +\renewcommand{\printunsrtglossaryentryprocesshook}[1]{% + \glsxtrifhasfield*{progenitor}{#1}{\printunsrtglossaryskipentry}{}% +} \renewcommand*{\unicodecategoryfmt}[1]{\textsf{#1}} \printunsrtglossary[type=index] \end{document} diff --git a/Master/texmf-dist/source/support/bib2gls/src/gls2bib-src.zip b/Master/texmf-dist/source/support/bib2gls/src/gls2bib-src.zip index fec7422d20d..f4080922d6d 100644 Binary files a/Master/texmf-dist/source/support/bib2gls/src/gls2bib-src.zip and b/Master/texmf-dist/source/support/bib2gls/src/gls2bib-src.zip differ diff --git a/Master/texmf-dist/source/support/bib2gls/src/texparser-src.zip b/Master/texmf-dist/source/support/bib2gls/src/texparser-src.zip index c1648c9de85..801f128ff0e 100644 Binary files a/Master/texmf-dist/source/support/bib2gls/src/texparser-src.zip and b/Master/texmf-dist/source/support/bib2gls/src/texparser-src.zip differ -- cgit v1.2.3