From b4ddb0e04d17bd28752d66b3fc94b5613d10335e Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 9 Nov 2017 23:44:57 +0000 Subject: glossaries-extra (9nov17) git-svn-id: svn://tug.org/texlive/trunk@45733 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/doc/latex/glossaries-extra/CHANGES | 18 + .../texmf-dist/doc/latex/glossaries-extra/README | 4 +- .../glossaries-extra/glossaries-extra-code.pdf | Bin 1048866 -> 1060549 bytes .../glossaries-extra/glossaries-extra-manual.html | 6266 ++++++++++---------- .../glossaries-extra/glossaries-extra-manual.pdf | Bin 820853 -> 826025 bytes .../glossaries-extra/glossaries-extra-manual.tex | 102 +- .../latex/glossaries-extra/sample-abbr-styles.pdf | Bin 512874 -> 512874 bytes .../doc/latex/glossaries-extra/sample-abbrv.pdf | Bin 44749 -> 44749 bytes .../doc/latex/glossaries-extra/sample-accsupp.pdf | Bin 80745 -> 80745 bytes .../latex/glossaries-extra/sample-acronym-desc.pdf | Bin 50358 -> 50358 bytes .../doc/latex/glossaries-extra/sample-acronym.pdf | Bin 36734 -> 36734 bytes .../doc/latex/glossaries-extra/sample-alias.pdf | Bin 43863 -> 43863 bytes .../latex/glossaries-extra/sample-altmodifier.pdf | Bin 35296 -> 35296 bytes .../glossaries-extra/sample-alttree-marginpar.pdf | Bin 91049 -> 91049 bytes .../latex/glossaries-extra/sample-alttree-sym.pdf | Bin 69519 -> 69519 bytes .../doc/latex/glossaries-extra/sample-alttree.pdf | Bin 54855 -> 54855 bytes .../glossaries-extra/sample-autoindex-hyp.pdf | Bin 142016 -> 142039 bytes .../latex/glossaries-extra/sample-autoindex.pdf | Bin 161462 -> 161532 bytes .../doc/latex/glossaries-extra/sample-crossref.pdf | Bin 41281 -> 41281 bytes .../latex/glossaries-extra/sample-crossref2.pdf | Bin 41603 -> 41603 bytes .../doc/latex/glossaries-extra/sample-docdef.pdf | Bin 45245 -> 45245 bytes .../latex/glossaries-extra/sample-entrycount.pdf | Bin 54610 -> 54610 bytes .../doc/latex/glossaries-extra/sample-external.pdf | Bin 55773 -> 55773 bytes .../doc/latex/glossaries-extra/sample-fmt.pdf | Bin 75114 -> 75114 bytes .../doc/latex/glossaries-extra/sample-footnote.pdf | Bin 63220 -> 63220 bytes .../doc/latex/glossaries-extra/sample-header.pdf | Bin 125899 -> 125899 bytes .../latex/glossaries-extra/sample-indexhook.pdf | Bin 42711 -> 42711 bytes .../latex/glossaries-extra/sample-initialisms.pdf | Bin 81603 -> 81603 bytes .../glossaries-extra/sample-mixed-abbrv-styles.pdf | Bin 57809 -> 57809 bytes .../latex/glossaries-extra/sample-mixedsort.pdf | Bin 45141 -> 45141 bytes .../doc/latex/glossaries-extra/sample-mixture.pdf | Bin 159903 -> 159972 bytes .../latex/glossaries-extra/sample-name-font.pdf | Bin 202082 -> 202082 bytes .../doc/latex/glossaries-extra/sample-nested.pdf | Bin 67724 -> 67724 bytes .../sample-noidx-restricteddocdefs.pdf | Bin 47572 -> 47572 bytes .../doc/latex/glossaries-extra/sample-onelink.pdf | Bin 44514 -> 44514 bytes .../glossaries-extra/sample-onthefly-utf8.pdf | Bin 106058 -> 106058 bytes .../glossaries-extra/sample-onthefly-xetex.pdf | Bin 19857 -> 19862 bytes .../doc/latex/glossaries-extra/sample-onthefly.pdf | Bin 43469 -> 43469 bytes .../doc/latex/glossaries-extra/sample-pages.pdf | Bin 38788 -> 38788 bytes .../doc/latex/glossaries-extra/sample-postdot.pdf | Bin 37047 -> 37047 bytes .../doc/latex/glossaries-extra/sample-postlink.pdf | Bin 67878 -> 67878 bytes .../doc/latex/glossaries-extra/sample-prefix.pdf | Bin 33107 -> 33107 bytes .../doc/latex/glossaries-extra/sample-record.pdf | Bin 48035 -> 48035 bytes .../glossaries-extra/sample-restricteddocdefs.pdf | Bin 47883 -> 47883 bytes .../latex/glossaries-extra/sample-suppl-hyp.pdf | Bin 34931 -> 34931 bytes .../glossaries-extra/sample-suppl-main-hyp.pdf | Bin 46388 -> 46388 bytes .../latex/glossaries-extra/sample-suppl-main.pdf | Bin 31596 -> 31596 bytes .../doc/latex/glossaries-extra/sample-suppl.pdf | Bin 13411 -> 13411 bytes .../doc/latex/glossaries-extra/sample-trans.pdf | Bin 49443 -> 49443 bytes .../doc/latex/glossaries-extra/sample-undef.pdf | Bin 33219 -> 33219 bytes .../glossaries-extra/sample-unitentrycount.pdf | Bin 61040 -> 61040 bytes .../doc/latex/glossaries-extra/sample.pdf | Bin 45734 -> 45734 bytes .../latex/glossaries-extra/glossaries-extra.dtx | 265 +- .../latex/glossaries-extra/glossaries-extra.ins | 2 +- .../glossaries-extra-stylemods.sty | 2 +- .../latex/glossaries-extra/glossaries-extra.sty | 148 +- .../latex/glossaries-extra/glossary-bookindex.sty | 4 +- 57 files changed, 3740 insertions(+), 3071 deletions(-) (limited to 'Master') diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/CHANGES b/Master/texmf-dist/doc/latex/glossaries-extra/CHANGES index d54f50169df..89204f72b7d 100644 --- a/Master/texmf-dist/doc/latex/glossaries-extra/CHANGES +++ b/Master/texmf-dist/doc/latex/glossaries-extra/CHANGES @@ -1,3 +1,19 @@ +1.22 (2017-11-08): + + * glossaries-extra.sty: + + - \glsseeitemformat: added check for short field + + - added \glossentrynameother and \glsxtrglossentryother + + - added \glsxtrnopostpunc and \glsxtractivatenopost + + * glossary-bookindex.sty: + + - removed \ifglsnopostdot check from \glsxtrbookindexprelocation + (inappropriate as bookindex style doesn't display the + description) + 1.21 (2017-11-03): * glossaries-extra.sty: @@ -12,6 +28,8 @@ - new commands: \glsuseabbrvfont and \glsuselongfont + - new command \glsxtrglossentry + - new commands: \ifglsxtr@hyperoutside and \glsxtrinithyperoutside and associated key hyperoutside and category attribute hyperoutside. diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/README b/Master/texmf-dist/doc/latex/glossaries-extra/README index c0b6fc268b7..9bcf3a481e4 100644 --- a/Master/texmf-dist/doc/latex/glossaries-extra/README +++ b/Master/texmf-dist/doc/latex/glossaries-extra/README @@ -1,6 +1,6 @@ -LaTeX Package : glossaries-extra v1.21 +LaTeX Package : glossaries-extra v1.22 -Last Modified : 2017-11-03 +Last Modified : 2017-11-08 Author : Nicola Talbot diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/glossaries-extra-code.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/glossaries-extra-code.pdf index a880aa1e2bb..57b0bd90b29 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/glossaries-extra-code.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/glossaries-extra-code.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/glossaries-extra-manual.html b/Master/texmf-dist/doc/latex/glossaries-extra/glossaries-extra-manual.html index 3d32a73bacd..2438062ac53 100644 --- a/Master/texmf-dist/doc/latex/glossaries-extra/glossaries-extra-manual.html +++ b/Master/texmf-dist/doc/latex/glossaries-extra/glossaries-extra-manual.html @@ -217,7 +217,7 @@ a span.HoLogo-TeX span.HoLogo-e{text-decoration:none;} >

glossaries-extra.sty v1.21: an extension to the +class="cmr-17">glossaries-extra.sty v1.22: an extension to the glossaries package

@@ -241,7 +241,7 @@ href="http://www.dickimaw-books.com/" class="url" >http://www.dickimaw-books.com/

2017-11-03

+class="cmr-12">2017-11-08

@@ -419,7 +419,7 @@ href="#sec:fields" id="QQ2-1-39">Entry Fields
 10.2 Display All Entries Without Sorting or Indexing
 10.3 Standalone Definitions +href="#sec:glossentry" id="QQ2-1-41">Standalone Entry Items
 10.4 Entry Aliases
11 \makenoidxglossariesTop

2. Modifications to Existing Commands and Styles

The glossaries package provides \nopostdesc which may be used in the description +to suppress the post-description hook. The glossaries-extra package provides another +command +


\glsxtrnopostpunc  \glsxtrnopostpunc

+

+which has a similar function but only suppresses the post-description punctuation. It +doesn’t suppress the use of \glsxtrpostdescription which allows the use of +category-dependent post-description hooks. (Note that the punctuation, which is in +the original base hook \glspostdescription, comes after the extended +post-description hook \glsxtrpostdescription not before.) +

The glossaries package provides -



\glsseeitemformat  \glsseeitemformat{label}

-

+

to format items in a cross-reference list (identified with the see key or key or \glssee). This was originally defined to use \glsentryname{} since it makes more sense for the cross-reference to match the way the term appears in the glossary. Unfortunately this caused a problem when the name field was sanitized, which used to be the default + id="dx1-5006"> field was sanitized, which used to be the default setting, so glossaries v3.0 changed the default definition of this command to use \glsentrytext instead. Since the name and and text field are quite often + id="dx1-5008"> field are quite often the same, this change usually doesn’t have a noticeable effect. However, now that the name field is no longer sanitized (following the redesign of + id="dx1-5009"> field is no longer sanitized (following the redesign of glossaries v4.0) it makes more sense to restore this command to its original behaviour, but to take account of abbreviations

\renewcommand*{\glsseeitemformat}[1]{% - 
  \glsifregular{#1}{\glsaccessname{#1}}{\glsaccesstext{#1}}% + 
 \ifglshasshort{\glslabel}{\glsaccesstext{#1}}{\glsaccessname{#1}}%  
}
-

If you want to restore the

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

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

-

The commands used by

+

The commands used by glossaries to automatically produce an error if an entry is undefined (such as \glsdoifexists) are changed to take the ) are changed to take the undefaction option into + id="dx1-5011"> option into account. -

The

The \newignoredglossary{type} command now (as from v1.11) has a starred @@ -2037,7 +2060,7 @@ version that doesn’t automatically switch off the hyperlinks. This starred be used with the targeturl attribute to create a link to an external URL. (See attribute to create a link to an external URL. (See §5 Categories for furt check that the glossary doesn’t already exist. (The glossaries package omits this check.) -

You can now provide an ignored glossary with: -


You can now provide an ignored glossary with: +


\provideignoredglossary  \provideignoredglossary{type}

-

+

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

The individual glossary displaying commands

The individual glossary displaying commands \printglossary, , \printnoidxglossary + id="dx1-5016"> and \printunsrtglossary have two extra keys:

  • target. This is a boolean key which can be used to switch off the automatic + id="dx1-5017">. This is a boolean key which can be used to switch off the automatic hypertarget for each entry. Unlike \glsdisablehyper this doesn’t switch off hyperlinks, so any cross-references within the glossary won’t be affected. @@ -2076,7 +2099,7 @@ class="cmtt-10">\glsdisablehyper this doesn’t switch
  • targetnameprefix={prefix}. Another way of avoiding duplicate target names @@ -2084,12 +2107,12 @@ class="cmtt-10">}. Another way of avoiding duplicate target names class="cmtt-10">\glolinkprefix this doesn’t affect any hyperlinks (such as those created with \gls).
-

The

The \newglossaryentry command has three new keys:

  • category, which sets the category label for the given entry. By default this + id="dx1-5019">, which sets the category label for the given entry. By default this is general. See Categories for furt
  • alias, which allows an entry to be alias to another entry. See , which allows an entry to be alias to another entry. See §10.4 Entry @@ -2106,9 +2129,9 @@ href="#sec:alias">Entry
  • seealso, which performs much like , which performs much like see, but allows for separate “see” and + id="dx1-5022">, but allows for separate “see” and @@ -2117,24 +2140,24 @@ href="#sec:see">§2.2 Cross-References (“see” and “see also”) for further details.
-

The test file

The test file example-glossaries-xr.tex contains dummy entries with a mixture of see, , alias and and seealso keys for use with minimal working examples. There are also + id="dx1-5025"> keys for use with minimal working examples. There are also example-glossaries-*.bib files that correspond to each example-glossaries-*.tex file for testing bib2gls. -

The . +

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

\leavevmode\unskip\nopostdesc
-

at the end of the description field. -


at the end of the description field. +


\longnewglossaryentry  \longnewglossaryentry*{label}{} class="cmtt-10">{description}

-

+

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

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

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



\glsxtrpostlongdescription  \glsxtrpostlongdescription

-

+

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

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

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

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

The unstarred version also alters the base

The unstarred version also alters the base glossaries package’s treatment of the + id="dx1-5031"> package’s treatment of the descriptionplural key. Since a plural description doesn’t make much sense for + id="dx1-5032"> key. Since a plural description doesn’t make much sense for multi-paragraph descriptions, the default behaviour with glossaries-extra’s + id="dx1-5033">’s \longnewglossaryentry is to simply leave the plural description unset unless explicitly set using the descriptionplural key. The key. The glossaries.sty version of this command sets the description’s plural form to the same as the singular.2.1 -

Note that this modified unstarred version doesn’t append +

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

The

The \newterm command (defined through the command (defined through the index package option) is modified + id="dx1-5042"> package option) is modified so that the category defaults to index. The . The \newacronym command is modified + id="dx1-5044"> command is modified to use the new abbreviation interface provided by glossaries-extra. (See §3 Abbreviations.) -

The

The \makeglossaries command now has an optional argument. -



\makeglossaries  \makeglossaries[list]

-

+

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

This command is not permitted with the

This command is not permitted with the record=only package option. Without + id="dx1-5046"> package option. Without the optional argument, it’s permitted with record=alsoindex. With the optional + id="dx1-5047">. With the optional argument, it’s only permitted with the default record=off. -

It should then be possible to use . +

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

If you use the optional argument ⟨

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

-

You will need at least version 2.20 of option).

+

+

You will need at least version 2.20 of makeglossaries or at least version 1.3 of the Lua alternative makeglossaries-lite (both distributed with (both distributed with glossaries v4.27) to allow for this use of \makeglossaries[list]. Alternatively, use the automake + id="dx1-5053"> option.

-

Top

2.1 Entry Indexing

-

The

The glossaries-extra package provides extra keys for commands like \gls and wrgloss=after for specific instances. Note that this opti settings (such as noindex). -

The default value is set up using -


The default value is set up using +


\glsxtrinitwrgloss  \glsxtrinitwrgloss

-

+

which is defined as: @@ -2376,15 +2399,15 @@ class="cmtt-10">\glsxtrinitwrgloss


 
 }%  
}
-

This sets the conditional -


This sets the conditional +


\ifglsxtrinitwrglossbefore  \ifglsxtrinitwrgloss

-

+

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

This means you can set the

This means you can set the wrgloss attribute to \hyperlink. For

\glssetcategoryattribute{mathrelation}{hyperoutside}{false}
-

will set

will set hyperoutside=false for all entries that are assigned to the category mathrelation and @@ -2466,7 +2489,7 @@ class="cmtt-10">mathrelation and

\glssetcategoryattribute{mathrelation}{textformat}{mathrel}
-

will use

will use \mathrel instead of \glstextformat resulting in:

@@ -2485,22 +2508,22 @@ class="cmsy-10">} class="cmss-10">category key set to mathrelation. -

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

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



\glsxtrdowrglossaryhook  \glsxtrdowrglossaryhook{label}

-

+

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

As from version 1.14, there are two new keys for

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

The principle key

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

If you use

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

-

For example,

+

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

-

This location value will be accepted by

This location value will be accepted by bib2glsformat key to prevent a hyperlink if one can’t naturally be formed from the prefix, counter and location value. -

For example, suppose the file

For example, suppose the file suppl.tex contains: @@ -2590,7 +2613,7 @@ class="cmtt-10">suppl.tex contains:  
\gls{sample}.  
\end{document}

-

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

This has an entry on page S.2. Suppose another document wants to include this location in the glossary. Then this can be done by setting thevalue to \glsadd[thevalue={S.2}]{sample}  
\end{document}

-

This location value will be accepted by

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

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

If you want hyperlinks, things are more complicated. First you need to set the externallocationexternallocation\newglossaryentry{sample}{category=supplemental,  
 name={sample},description={an example}}

-

Next you need to add

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

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

Both documents will need to use the

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

The hyperlink for the supplementary location may or

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

-

For example, if both

+

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

+

-

Top

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

-

The value of the

The value of the see key is now saved as a field. This isn’t the case with glossaries, @@ -2703,20 +2726,20 @@ class="cmss-10">document environment on the next run. -

This modification allows

This modification allows glossaries-extra to provide -



\glsxtraddallcrossrefs  \glsxtraddallcrossrefs

-

+

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

As a by-product of this enhancement, the

As a by-product of this enhancement, the see key will now work for entries defined in the see value to be stored even though it may not be possible to index it at that point. -

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

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



\glsxtrusesee  \glsxtrusesee{label}

-

+

This internally uses -



\glsxtruseseeformat  tag}{xr list}

-

+

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

Suppose you want to suppress the

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

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

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

-

Now the cross-references can appear even though the

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

As from v1.16, there’s a separate

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

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

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



\glsxtruseseealso  \glsxtruseseealso{label}

-

+

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



\glsxtruseseeformat  \glsxtruseseealsoformat{xr list}

-

+

For example: @@ -2882,20 +2905,20 @@ For example:  
 {}%  
}

-

-

The actual unformatted comma-separated list ⟨

+

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



\glsxtrseealsolabels  \glsxtrseealsolabels{label}

-

+

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

The base

The base glossaries package provides \glsseelist, which requires a @@ -2921,20 +2944,20 @@ class="cmti-10">label⟩} as the argument. For convenience, glossaries-extra provides -



\glsxtrseelist  \glsxtrseelist{xr list}

-

+

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

The

The seealso key implements the automatic indexing using -



\glsxtrindexseealso  label}{xr list}

-

+

which just does

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

+

-

Top

2.3 Entry Display Style Modifications

-

Recall from the

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

The default entry format (

The default entry format (\glsentryfmt) used in the §3.2 Abbreviation Styles). -

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

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

As from version 1.04,

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



\glsxtrregularfont  \glsxtrregularfont{text}

-

+

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

For example: +

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

-

You can access the label through

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

-

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

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

-

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

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

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

without redefining

without redefining \glsxtrregularfont. -

The

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



\glsxtrpostlinkhook  \glsxtrpostlinkhook

-

+

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



\glsxtrpostlink  \glsxtrpostlink

-

+

if a full stop hasn’t be discarded and -



\glsxtrpostlinkendsentence  \glsxtrpostlinkendsentence

-

+

if a full stop has been discarded. -

Avoid the use of

Avoid the use of \gls-like and \glstext-like commands within the post-link hook as they will cause interference. Consider using commands like @@ -3179,8 +3202,8 @@ href="#sec:nested">§2.6 Nested Links) instead.
-

-

By default

+

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

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

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

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

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



\glsxtrpostlinkAddDescOnFirstUse  \glsxtrpostlinkAddDescOnFirstUse

-

+

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

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

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

-

-


+


\glsxtrpostlinkAddSymbolOnFirstUse  \glsxtrpostlinkAddSymbolOnFirstUse

-

+

This will append the symbol (if defined) in parentheses on first use. -

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

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



\glsxtrifwasfirstuse  true}{false}

-

+

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

Note that commands like

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

-

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

+

For example, if you want to place the description in a footnote after the link-text on first use for the general  \glsxtrifwasfirstuse{\footnote{\glsentrydesc{\glslabel}}}{}%  
}

-

-

The

+

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

You can set the default options used by

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



\GlsXtrSetDefaultGlsOpts  \GlsXtrSetDefaultGlsOpts{options}

-

+

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

\GlsXtrSetDefaultGlsOpts{noindex}
-

and then use, for example,

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

Note that if you don’t want

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

\GlsXtrSetDefaultGlsOpts doesn’t affect \glsadd.
-

-

If you want to change the default value of

+

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



\GlsXtrSetDefaultNumberFormat{format}

-

+

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

-

-

Commands like

+

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



\GlsXtrSetAltModifier  }{options}

-

+

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

When choosing the character ⟨

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

-

Example: +

+

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

\GlsXtrSetAltModifier{!}{noindex}
-

This means that

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

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

you can use

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

Location lists displayed with \printnoidxglossary internally use -



\glsnoidxdisplayloc  } class="cmtt-10">{⟨location}

-

+

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

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


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


\glsxtrdisplaysingleloc  }{location}

-

+

otherwise it uses -



\glsxtrdisplaystartloc  }{location}

-

+

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



\glsxtrdisplayendloc  }{location}

-

+

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

By default the start range command saves the format in -


By default the start range command saves the format in +


\glsxtrlocrangefmt  \glsxtrlocrangefmt

-

+

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

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

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



\glsxtrdisplayendlochook  }{location}

-

+

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

This means that the list +

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

-

doesn’t display any differently from +

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

-

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

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

+

-

Top

2.4 Entry Counting Modifications

-

If you are using

If you are using bib2gls§9 bib2gls: Managing Reference Databases instead. -

The

The \glsenableentrycount command is modified to allow for the §5 Categories). -

For example, instead of just doing: +

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

\glsenableentrycount
-

you now need to do: +

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

-

This will enable the entry counting for entries in the

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

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

Further information about entry counting, including the new per-unit feature, is described in §6 Entry Counting. -

+

-

Top

2.5 Plurals

-

Some languages, such as English, have a general rule that plurals are formed from +

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

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

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

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

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

There are other plural fields, such as

There are other plural fields, such as firstplural, longpluralshortplural

If these fields are omitted, the

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

    @@ -3743,7 +3766,7 @@ class="cmtt-10">\acrpluralsuffixshort field.
-

This

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



\glsxtrabbrvpluralsuffix  \glsxtrabbrvpluralsuffix

-

+

which defaults to just \glspluralsuffix. Some of the abbreviation styles have their own command for the plural suffix, such as \abbrvpluralsuffix, which changes with the style. Redefining \acrpluralsuffix will have no affect, since it’s not used by the new abbreviation mechanism. -

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

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

-

That is, an apostrophe followed by

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

+

-

Top

2.6 Nested Links

-

Complications arise when you use

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

Things can go wrong if we try the following with the

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

-

-

The main problems are: +

+

The main problems are:

  1. first use if the long form is displayed before the shor
    \gls{\uppercase ssi} enabled \gls{html}
    -

    which just doesn’t work. Grouping the

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

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

    This will upper case the label

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

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

    This produces: +

    This produces:

    -

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

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

    -

    So the

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

    Now let’s suppose the

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

-

This produces: +

This produces:

-

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

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

-

So the

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

Now let’s suppose the

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

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

This produces: +

This produces:

-

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

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

-

So the

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

This is all aggravated by setting the style using the

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

\setacronymstyle{long-short}
-

as this references the label through the use of

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

Another oddity occurs if you reset the

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

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

The next use of

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

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

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

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

For these reasons it’s better to use the simple expandable commands like \glsentrytext or  [description={\acrshort{ssi} enabled \acrshort{html}}]  
 {shtml}{SHTML}{SSI enabled HTML}

-

with

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

-

with

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

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

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

-

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

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

However if you’re really determined to use

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

-

is treated as +

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

-

This overcomes problems 

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

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

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

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

then (using the

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

-

whereas if the entry is defined as: +

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

-

then the

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

-

Note that the first optional argument of

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

Alternatively you can use: -


Alternatively you can use: +


\glsxtrp  field}{label}

-

+

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

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


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


\glsps  \glsps{label}

-

+

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



\glspt  \glspt{label}

-

+

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

The

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



\glsxtrsetpopts  \glsxtrsetpopts{options}

-

+

For example: @@ -4290,17 +4313,17 @@ For example:

\glsxtrsetpopts{hyper=false}
-

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

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

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

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



\glossxtrsetpopts  \glossxtrsetpopts

-

+

which by default just does @@ -4309,7 +4332,7 @@ which by default just does

\glsxtrsetpopts{noindex}
-

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

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

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

-

For example, +

+

For example, @@ -4328,7 +4351,7 @@ glossary. For example:

\glsxtrp{short}{ssi}
-

is equivalent to +

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

-

in the main body of the document or +

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

-

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

If

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

If \glsxtrp{short}{ssi} occurs in a sectioning mark, it’s equivalent to @@ -4359,19 +4382,19 @@ to

{\glsxtrheadshort{ssi}}
-

(which recognises the

(which recognises the headuc attribute.) -

If

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

There are similar commands -


There are similar commands +


\Glsxtrp  field}{label}

-

+

for first letter upper case and -



\Glsxtrp  field}{label}

-

+

for all upper case. -

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

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

-

You can, with care, protect against issue 

+

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

If you

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

-

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

Example document: +

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

Example document: @@ -4454,16 +4477,16 @@ class="cmti-10">really need nested commands, the safest method is  
\printglossaries  
\end{document}

-

-

+

+

-

Top

2.7 Acronym Style Modifications

-

The

The glossaries-extra package provides a new way of dealing with abbreviations and redefines \newacronymglossaries-extra is do just add

-

before you define any entries. For example, the following document using just +

before you define any entries. For example, the following document using just glossaries @@ -4502,7 +4525,7 @@ class="cmss-10">glossaries  
\printglossaries  
\end{document}

-

can be easily adapted to use

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

-

Table 

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


@@ -4558,34 +4581,34 @@ cellspacing="0" cellpadding="0" id="TBL-2-1" />

Old Style Name

New Style Name

long-sc-short

long-short-sc

long-sm-short

long-short-sm

long-sp-short

long-short
#1}}

short-long

short-long

sc-short-long

short-sc-long

sm-short-long

short-sm-long

long-short-desc

long-short-desc

long-sc-short-desc

long-short-sc-desc

long-sm-short-desc

long-short-sm-desc

long-sp-short-desc

long-short-desc
#1}}

short-long-desc

short-long-desc

sc-short-long-desc

short-sc-long-desc

sm-short-long-desc

short-sm-long-desc

dua

long-noshort

dua-desc

long-noshort-desc

footnote

short-footnote

footnote-sc

short-sc-footnote

footnote-sm

short-sm-footnote

footnote-desc

short-footnote-desc

footnote-sc-desc

short-sc-footnote-desc

footnote-sm-desc

short-sm-footnote-desc

@@ -4778,7 +4801,7 @@ class="cmss-10">short-sm-footnote-desc

-

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

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



\RestoreAcronyms  \RestoreAcronyms

-

+

(before any use of \newacronym). -

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

If you use

-

-

In general, there’s rarely any need for

+

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



\glsacspace  \glsacspace{label}

-

+

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



\glsacspacemax  \glsacspacemax

-

+

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

Any of the new abbreviation styles that use

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

-

-

The

+

The first use acronym font command -



\firstacronymfont{text}

-

+

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

The subsequent use acronym font command -


The subsequent use acronym font command +


\acronymfont{text}

-

+

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

-

Top

2.8 glossary-bookindex package

-

As from v1.21,

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

-

or use both the

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

-

The

The bookindex style only supports a maximum hierarchical level of 2 (top-level, level 1 and level 2). -

The number of columns is given by -


The number of columns is given by +


\glsxtrbookindexcols  \glsxtrbookindexcols

-

+

which defaults to 2. -

This style uses the

This style uses the multicols environment. If the command -



\glsxtrbookindexcolspread  \glsxtrbookindexcolspread

-

+

isn’t empty then it’s supplied as the optional argument following \begin{multicols} {n}. -

Each top-level entry is displayed using -


Each top-level entry is displayed using +


\glsxtrbookindexname  \glsxtrbookindexname{label}

-

+

where the entry is identified by ⟨label⟩. This just does \glossentryname{ \ifglshassymbol{#1}{\space (\glossentrysymbol{#1})}{}%  
}

-

Alternatively you can use the

Alternatively you can use the \glsxtrpostnamecategory⟩ hook. -

Sub-entries are displayed using -


Sub-entries are displayed using +


\glsxtrbookindexsubname  \glsxtrbookindexsubname{label}

-

+

which just defaults to \glsxtrbookindexname{label}. -

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

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



\glsxtrbookindexprelocation  \glsxtrbookindexprelocation{label}

-

+

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

-\ifglsnopostdot,\fi\glsxtrprelocation +,\glsxtrprelocation
-

otherwise it just does

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

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


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


\glsxtrbookindexsubprelocation  \glsxtrbookindexsubprelocation{label}

-

+

which defaults to \glsxtrbookindexprelocation{label}. -

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

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



\glsxtrbookindexparentchildsep  \glsxtrbookindexparentchildsep

-

+

This defaults to \nopagebreak. -

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

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



\glsxtrbookindexparentsubchildsep  \glsxtrbookindexparentsubchildsep

-

+

This defaults to \glsxtrbookindexparentchildsep. -

The separator between top-level entries is given by -


The separator between top-level entries is given by +


\glsxtrbookindexbetween  }{label2}

-

+

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

The separator between two level 1 entries is given by -


The separator between two level 1 entries is given by +


\glsxtrbookindexsubbetween  }{label2}

-

-

The separator between two level 2 entries is given by -


+

The separator between two level 2 entries is given by +


\glsxtrbookindexsubsubbetween  } class="cmtt-10">{⟨label2}

-

+

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



\glsxtrbookindexsubsubatendgroup  }

-

-


+


\glsxtrbookindexsubatendgroup  \glsxtrbookindexsubatendgroup{sub-label}

-

-


+


\glsxtrbookindexatendgroup  \glsxtrbookindexatendgroup{label}

-

+

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

For example, the resource option

For example, the resource option seealso=omit instructs   \glsxtrbookindexsubsubatendgroup{#1}%  
}

-

This uses

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

The

The bookindex style uses group headings. (If you use bib2gls--group or -g switch.) The heading will use -




-

+

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

The group heading is formatted according to -


The group heading is formatted according to +


\glsxtrbookindexformatheader  } -

+

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

-

where

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

The

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



\glsxtrbookindexmarkentry  \glsxtrbookindexmarkentry{label}

-

+

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

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


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


\glsxtrbookindexfirstmark  \glsxtrbookindexfirstmark

-

+

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



\glsxtrbookindexlastmark  \glsxtrbookindexlastmark

-

+

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

The entry is formatted using: -


The entry is formatted using: +


\glsxtrbookindexfirstmarkfmt  \glsxtrbookindexfirstmarkfmt{label}

-

+

for the first instance and -



\glsxtrbookindexlastmarkfmt  \glsxtrbookindexlastmarkfmt{label}

-

+

for the last. -

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

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

-

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

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

-

-

Then if you’re using

+

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

-

-

+

+

-

Top

2.9 Glossary Style Modifications

-

The

The glossaries-extra-stylemods package (more conveniently loaded through the §2.9.3 The glossaries-extra-stylemods Package. -

The

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



\glsxtrsetgrouptitle  label}{title}

-

+

For example: @@ -5421,13 +5444,13 @@ For example:

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

-

+

+

-

Top

2.9.1 Style Hooks

-

The commands

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

There is a hook after

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


\glossentrynameother  \glossentrynameother{label}{field}

+

+This behaves just like \glossentryname (that is, it obeys glossname, glossnamefont or +\glsnamefont and uses the post-name hook) but it uses the given ⟨field⟩ instead of +name. The ⟨field⟩ argument must be the internal field name (for example desc rather +than description). See the key to field mappings table in the glossaries user +manual. +

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


: +


\glsxtrpostnamehook  \glsxtrpostnamehook{label}

-

+

By default this checks the indexname attribute. If the attribute exists for the + id="dx1-15014"> attribute. If the attribute exists for the category to which the label belongs, then the name is automatically indexed using -



\glsxtrdoautoindexname{label}{indexname}

-

+

See §7 Auto-Indexing for further details. -

As from version 1.04, the post-name hook

As from version 1.04, the post-name hook \glsxtrpostnamehook will also use \glsxtrpostnamecategory⟩ if it exists. You can use \glscurrententrylabel to + id="dx1-15016"> to obtain the entry label with the definition of this command. For example, suppose you are using a glossary style the doesn’t display the symbol, you can insert the symbol after the name for a particular category, say, the “symbol” @@ -5499,23 +5556,23 @@ category: \newcommand*{\glsxtrpostnamesymbol}{\space  
 (\glsentrysymbol{\glscurrententrylabel})}

-

-

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

+

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



\glsxtrpostdescription  \glsxtrpostdescription

-

+

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

This new command will do

This new command will do \glsxtrpostdesccategory⟩ if it exists, where ⟨category⟩ is the category label associated with th \glsxtrpostdescgeneral for entries with the category set to general or + id="dx1-15019"> or \glsxtrpostdescacronym for entries with the category set to acronym. -

Since both . +

Since both \glossentry and \subglossentry set -



\glscurrententrylabel  \glscurrententrylabel

-

+

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

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

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

-

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

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

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

This feature can’t be used for glossary styles that ignore \glspostdescription or if you redefine \glspostdescription without including \glspostdescription to do nothing instead of using the nopostdot option to suppress the terminating full stop.) See option to suppress the terminating full stop.) See §2.9.3 The @@ -5574,16 +5631,16 @@ class="cmss-10">glossaries-extra-stylemods Package

-

+

+

-

Top

2.9.2 Number List

-

The

The number list is now placed inside the argument of -



\GlsXtrFormatLocationList  \GlsXtrFormatLocationList{number list}

-

+

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

If you want to suppress the

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

-

If you want to, for example, change the font for the entire

+

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

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

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



\GlsXtrEnablePreLocationTag  }{pages}

-

+

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

\GlsXtrEnablePreLocationTag{Page: }{Pages: }
-

An extra run is required when using this command. -

Use

An extra run is required when using this command. +

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

-

See the accompanying sample file

+

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

Note that

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

+

-

Top

2.9.3 The glossaries-extra-stylemods Package

-

As from v1.02,

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

-

Alternatively you can load

Alternatively you can load glossary-name.sty at the same time by passing ⟨glossaries-extra-stylemods\usepackage[longragged]{glossaries-extra-stylemods}

-

Another option is to use the

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

-

Or the value of

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

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

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

Remember to group the value if it contains any commas: @@ -5737,8 +5794,8 @@ identifiers. For example:

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

-

Note that the

+

Note that the inline style is dealt with slightly differently. The original definition provided by the nopostdot option, but the post-description category hook can still be used. -

The

The tabular-like styles, such as \printglossary, \printnoidxglossary or \printunsrtglossary, you must also reset the glossary style. -

As from version 1.21, the hard-coded

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



\glsxtrprelocation  \glsxtrprelocation

-

+

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

\renewcommand{\glsxtrprelocation}{\dotfill}
-

-

The

+

The list styles use -



\glsxtrprelocation  \glslistprelocation

-

+

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



\glslistchildprelocation  \glslistchildprelocation

-

+

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

For just the

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



\glslistchildpostlocation  \glslistchildpostlocation

-

+

which defaults to a full stop. -

The default value of

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

The

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



\glstreeprelocation  \glstreeprelocation

-

+

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



\glstreechildprelocation  \glstreechildprelocation

-

+

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

As from version 1.05, the

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



\gglssetwidest  level]{name}

-

+

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



\eglssetwidest  level]{name}

-

+

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



\xglssetwidest  level]{name}

-

+

The widest entry value can later be retrieved using -



\glsgetwidestname  \glsgetwidestname

-

+

for the top-level entries and -



\glsgetwidestsubname  \glsgetwidestsubname{level}

-

+

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

Note that if you are using

Note that if you are using bib2glsTEX. -

The command

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



\glsFindWidestTopLevelName  \glsFindWidestTopLevelName[glossary list]

-

+

Similar commands are also provided: -



\glsFindWidestUsedTopLevelName  glossary list]

-

+

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



\glsFindWidestUsedAnyName  \glsFindWidestUsedAnyName[glossary list]

-

+

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



\glsFindWidestAnyName  \glsFindWidestAnyName[glossary list]

-

+

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



\glsFindWidestUsedLevelTwo  \glsFindWidestUsedLevelTwo[glossary list]

-

+

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



\glsFindWidestLevelTwo  \glsFindWidestLevelTwo[glossary list]

-

+

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



\glsFindWidestUsedAnyNameSymbol  glossary list]{register}

-

+

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



\glsFindWidestAnyNameSymbol  list]{register}

-

+

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



\glsFindWidestUsedAnyNameSymbolLocation  symbol register}{location register}

-

+

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



\glsFindWidestAnyNameSymbolLocation  symbol register}{location register}

-

+

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



\glsFindWidestUsedAnyNameLocation  glossary list]{register}

-

+

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



\glsFindWidestAnyNameLocation  list]{register}

-

+

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

The layout of the symbol, description and

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



\glsxtralttreeSymbolDescLocation  label}{number list}

-

+

for top-level entries and -



\glsxtralttreeSubSymbolDescLocation  label}{number list}

-

+

for sub-entries. -

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

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



\glsxtralttreeInit  \glsxtralttreeInit

-

+

-

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

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



\glsxtrAltTreeIndent  \glsxtrAltTreeIndent

-

-

For additional commands that are available with the

+

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

-

-

+

Top

3. Abbreviations

-

Abbreviations include acronyms (words formed from initial letters, such as +

Abbreviations include acronyms (words formed from initial letters, such as “laser”), initialisms (initial letters of a phrase, such as “html”, that aren’t pronounced as words) and contractions (where parts of words are omitted, often replaced by an apostrophe, such as “don’t”). The “acronym” code provided by the @@ -6231,10 +6288,10 @@ to be described for readers unfamiliar with the term). They are therefore more like a regular term, which may or may not require a description in the glossary. -

The

The glossaries-extra package corrects this misnomer, and provides better abbreviation handling, with -



\newabbreviation  }{long}

-

-

This sets the

+

This sets the category key to abbreviation by default, but that value may be @@ -6272,7 +6329,7 @@ href="#sec:categories">§5 Categories for further details. -

See

See §2.6 Nested Links regarding the pitfalls of using commands like \glsxtrshort within ⟨short⟩ or ⟨long⟩. -

Make sure that you set the category attributes before defining new abbreviations +

Make sure that you set the category attributes before defining new abbreviations or they may not be correctly applied.
-

-

The

+

The \newacronym command provided by the glossaries package is redefined by @@ -6300,7 +6357,7 @@ class="cmtt-10">acronym (see also href="#sec:acronymmods">§2.7 Acronym Style Modifications) so -



\newacronym  short}{long}

-

+

is now equivalent @@ -6339,7 +6396,7 @@ class="cmtt-10">}
-

The

The \newabbreviation command is superficially similar to the glossaries package’s abbreviationglossaries package, although they may produce similar results.) -

The way the abbreviations are displayed by commands like

The way the abbreviations are displayed by commands like \gls varies according to the abbreviation style. The styles are set according to the entry’s category so, unlike the base glossaries package, you can have different abbreviation styles within the same glossary. -

There are two types of full forms. The display full form, which is used on +

There are two types of full forms. The display full form, which is used on first use by commands like short-footnote, the display and inline full forms are different. -

These formatting commands aren’t stored in the

These formatting commands aren’t stored in the short, shortplural\glsxtrlong and the case-changing variants don’t use \glsfirstlongfont. -

You can apply the formatting command used for the short form to some arbitrary +

You can apply the formatting command used for the short form to some arbitrary text using -



\glsuseabbrvfont  text}{category}

-

+

where ⟨category⟩ is the category label that identifies the abbreviation style. Similarly for the formatting command use by the long form: -



\glsuselongfont  text}{category}

-

+

-

Top

3.1 Tagging Initials

-

If you would like to tag the initial letters in the long form such that those letters are +

If you would like to tag the initial letters in the long form such that those letters are underlined in the glossary but not in the main part of the document, you can use -



\GlsXtrEnableInitialTagging  } class="cmtt-10">{⟨cs}

-

+

before you define your abbreviations. -

This command (robustly) defines ⟨

This command (robustly) defines ⟨cs⟩ (a control sequence) to accept a single argument, which is the letter (or letters) that needs to be tagged. The normal behaviour of this command within the document is to simply do its argument, but in @@ -6462,21 +6519,21 @@ href="#catattr.tagging">tagging attribute set to “true”. For those cases it will use -



\glsxtrtagfont  \glsxtrtagfont{text}

-

+

This command defaults to \underline{text} but may be redefined as required. -

The control sequence ⟨

The control sequence ⟨cs⟩ can’t already be defined when used with the unstarred version of \GlsXtrEnableInitialTagging for safety reasons. The starred @@ -6485,7 +6542,7 @@ class="cmti-10">cs⟩. As with redefining any commands, ensure that you don’t redefine something important. In fact, just forget the existence of the starred version and let’s pretend I didn’t mention it. -

The first argument of

The first argument of \GlsXtrEnableInitialTagging is a comma-separated list of category names. The §5 Categories) but this must be done before the glossary is displayed. -

The accompanying sample file

The accompanying sample file sample-mixtures.tex uses initial tagging for both the acronymabbreviation \GlsXtrEnableInitialTagging{acronym,abbreviation}{\itag}

-

This defines the command

This defines the command \itag which can be used in the definitions. For example: @@ -6529,18 +6586,18 @@ example:  
\newabbreviation{xml}{XML}  
 {e\itag{x}tensible \itag{m}arkup \itag{l}anguage}

-

The underlining of the tagged letters only occurs in the glossary and then only for +

The underlining of the tagged letters only occurs in the glossary and then only for entries with the tagging attribute set. -

+

-

Top

3.2 Abbreviation Styles

-

The abbreviation style must be set before abbreviations are defined using: -


The abbreviation style must be set before abbreviations are defined using: +


\setabbreviationstyle  ]{style-name}

-

+

where ⟨style-name⟩ is the name of the style and ⟨category⟩ is the category label @@ -6572,11 +6629,11 @@ class="cmss-10">regular attribute to true. -

If you want to apply different styles to groups of abbreviations, assign a +

If you want to apply different styles to groups of abbreviations, assign a different category to each group and set the style for the given category.
-

-

Note that

+

Note that \setacronymstyle is disabled by glossaries-extra. Use

@@ -6597,7 +6654,7 @@ href="#sec:acronymmods">§2.7 Acronym Style Modifications). However the original acronym interface is incompatible with all the commands described here. -

Abbreviations can be used with the standard

Abbreviations can be used with the standard glossaries commands, such as \gls, @@ -6607,7 +6664,7 @@ class="cmtt-10">\acrshort\acronymfont). The short form can be produced with: -



\glsxtrshort  label}[insert]

-

+

(Use this instead of \acrshort.) -

The long form can be produced with -


The long form can be produced with +


\glsxtrlong  label}[insert]

-

+

(Use this instead of \acrlong.) -

The

The inline full form can be produced with -



\glsxtrfull  label}[insert]

-

+

(This this instead of \acrfull.) -

In general, it’s best not to use commands like

In general, it’s best not to use commands like \glsfirst for abbreviations, especially if you use the ⟨insert⟩ optional argument. Use either \gls (possibly with a reset) or \glsxtrfull.
-

-

As mentioned earlier, the inline full form may not necessarily match the format +

+

As mentioned earlier, the inline full form may not necessarily match the format used on first use with short-nolongfirst use, but the full form will display the long form followed by the short form in parentheses. -

If you want to use an abbreviation in a chapter or section title, use the +

If you want to use an abbreviation in a chapter or section title, use the commands described in §4 Entries in Sectioning Titles, Headers, Captions and Contents instead.
-

-

The arguments ⟨

+

The arguments ⟨options⟩, ⟨label⟩ and ⟨insert⟩ are the same as for commands such as \glstext. There are also analogous case-changing commands: -

First letter upper case short form: -


First letter upper case short form: +


\Glsxtrshort  label}[insert]

-

-

First letter upper case long form: -


+

First letter upper case long form: +


\Glsxtrlong  label}[insert]

-

-

First letter upper case inline full form: -


+

First letter upper case inline full form: +


\Glsxtrfull  label}[insert]

-

-

All upper case short form: +

+

All upper case short form: -



\Glsxtrshort  label}[insert]

-

-

All upper case long form: -


+

All upper case long form: +


\Glsxtrlong  label}[insert]

-

-

All upper case inline full form: -


+

All upper case inline full form: +


\GLSxtrfull  label}[insert]

-

-

Plural forms are also available. -

Short form plurals: -


+

Plural forms are also available. +

Short form plurals: +


\glsxtrshortpl  label}[insert]

-

-


+


\Glsxtrshortpl  label}[insert]

-

-


+


\GLSxtrshortpl  label}[insert]

-

-

Long form plurals: -


+

Long form plurals: +


\glsxtrlongpl  label}[insert]

-

-


+


\Glsxtrlongpl  label}[insert]

-

-


+


\GLSxtrlongpl  label}[insert]

-

-

Full form plurals: -


+

Full form plurals: +


\glsxtrfullpl  label}[insert]

-

-


+


\Glsxtrfullpl  label}[insert]

-

-


+


\GLSxtrfullpl  label}[insert]

-

-

Be careful about using

+

Be careful about using \glsentryfull, \Glsentryfull, \glsentryfullpl and @@ -6896,13 +6953,13 @@ class="cmtt-10">\glsentryshort etc.
-

-

+

+

-

Top

3.3 Shortcut Commands

-

The abbreviation shortcut commands can be enabled using the package option +

The abbreviation shortcut commands can be enabled using the package option shortcutstable 3.1. -


@@ -7242,10 +7299,10 @@ class="cmtt-10">\newabbreviation
-

Top

3.4 Predefined Abbreviation Styles

-

There are two types of abbreviation styles: those that treat the abbreviation as a +

There are two types of abbreviation styles: those that treat the abbreviation as a regular entry (so that \gls uses \gls uses \glsxtrgenabbrvfmt). -

The regular entry abbreviation styles set the

The regular entry abbreviation styles set the regular attribute to “true” for the @@ -7281,7 +7338,7 @@ class="cmss-10">long\glsxtrshort. -

The other abbreviation styles don’t modify the

The other abbreviation styles don’t modify the regular attribute. The \glsxtrfullformat that are defined by the style). -

In both cases, the

In both cases, the first use of \gls may not match the text produced by \glsfirst (and likewise for the plural and case-changing versions). -

The sample file

The sample file sample-abbr-styles.tex demonstrates all predefined styles described here. -

For the “sc” styles that use

For the “sc” styles that use \textsc, be careful about your choice of fonts as some only have limited support. For example, you may not be able to combine bold @@ -7320,52 +7377,52 @@ class="cmss-10">fontenc package with the T1 option or something similar.
-

-

The parenthetical styles, such as

+

The parenthetical styles, such as long-short, use -



\glsxtrparen  \glsxtrparen{text}

-

+

to set the parenthetical material. This just puts parentheses around the text: (⟨text⟩). -

The basic abbreviation styles, such as

The basic abbreviation styles, such as long-short and short-long use -



\glsabbrvdefaultfont  \glsabbrvdefaultfont{text}

-

+

for the short form. This just does ⟨text⟩ by default. (That is, no font change is applied.) On first use, -



\glsfirstabbrvdefaultfont  \glsfirstabbrvdefaultfont{text}

-

+

is used instead. By default, this just does \glsabbrvdefaultfont. The long form is formatted according to -



\glslongdefaultfont  }

-

+

which again just does ⟨text⟩ (no font change). On first use, -



\glsfirstlongdefaultfont  \glsfirstlongdefaultfont{text}

-

+

is used instead. This just does \glslongdefaultfont. The plural suffix used for the short form is given by -



\glsxtrabbrvpluralsuffix  \glsxtrabbrvpluralsuffix

-

+

which defaults to \glspluralsuffix. -

The small-cap styles, such as

The small-cap styles, such as long-short-sc and short-sc-long, use -



\glsabbrvscfont  \glsabbrvscfont{text}

-

+

which uses \textsc.3.1 On first use -



\glsabbrvdefaultfont  \glsfirstabbrvscfont{text}

-

+

is used instead. This uses \glsabbrvscfont by default. So redefine, \glsabbrvscfont to change first and subsequent uses or \glsfirstabbrvscfont to change just the first use. -

The long form for the small-cap styles uses

The long form for the small-cap styles uses \glslongdefaultfont or \glsfirstlongdefaultfont, as with the basic style. The suffix is given by -



\glsxtrscsuffix  \glsxtrscsuffix

-

+

This is defined as @@ -7451,7 +7508,7 @@ This is defined as

\newcommand*{\glsxtrscsuffix}{\glstextup{\glsxtrabbrvpluralsuffix}}
-

The

The \glstextup command is provided by glossaries and is used to switch off the @@ -7471,51 +7528,51 @@ attributes. See §5 Categories for further details.) -

The small styles, such as

The small styles, such as long-short-sm and short-sm-long, use -



\glsabbrvsmfont  \glsabbrvsmfont{text}

-

+

which uses \textsmaller. (This requires the relsizes package, which isn’t loaded by glossaries-extra, so must be loaded explicitly.) On first use -



\glsfirstabbrvsmfont  \glsfirstabbrvsmfont{text}

-

+

is used instead. This uses \glsabbrvsmfont by default. -

The long form for the smaller styles uses

The long form for the smaller styles uses \glslongdefaultfont or \glsfirstlongdefaultfont, as with the basic style. The suffix is given by -



\glsxtrsmsuffix  \glsxtrsmsuffix

-

+

which defaults to just \glsxtrabbrvpluralsuffix. -

The “short-em” (emphasize short) styles, such as

The “short-em” (emphasize short) styles, such as long-short-em or short-em-long, use -



\glsabbrvemfont  \glsabbrvemfont{text}

-

+

On first use -



\glsfirstabbrvemfont  \glsfirstabbrvemfont{text}

-

+

is used instead. This uses \glsabbrvemfont by default. The suffix is given by -



\glsxtremsuffix  \glsxtremsuffix

-

+

which defaults to just \glsxtrabbrvpluralsuffix. The long form is as for the basic style unless the style is a “long-em” style. -

The “long-em” (emphasize long) styles, such as

The “long-em” (emphasize long) styles, such as long-em-short-em or short-em-long-em, use -



\glsfirstlongemfont  \glsfirstlongemfont{long-form}

-

+

instead of \glsfirstlongdefaultfont{long-form} and -



\glslongemfont  }

-

+

instead of \glslongdefaultfont{long-form}. The first form \glsfirstlongemfont is initialised to use \glslongemfont. -

The user styles have similar commands: -


The user styles have similar commands: +


\glsabbrvuserfont  \glsabbrvuserfont{text}

-

+

for the short form, -



\glsfirstabbrvuserfont  \glsfirstabbrvuserfont{text}

-

+

for the first use short form, -



\glslonguserfont  \glslonguserfont{text}

-

+

for the long form, -



\glsfirstlonguserfont  \glsfirstlonguserfont{text}

-

+

for the first use long form, and -



\glsxtrusersuffix  \glsxtrusersuffix

-

+

for the short plural suffix. -

Similarly for the hyphen styles: -


Similarly for the hyphen styles: +


\glsabbrvhyphenfont  \glsabbrvhyphenfont{text}

-

+

for the short form, -



\glsfirstabbrvhyphenfont  \glsfirstabbrvhyphenfont{text}

-

+

for the first use short form, -



\glslonghyphenfont  \glslonghyphenfont{text}

-

+

for the long form, -



\glsfirstlonghyphenfont  \glsfirstlonghyphenfont{text}

-

+

for the first use long form, and -



\glsxtrhyphensuffix  \glsxtrhyphensuffix

-

+

for the short plural suffix. -

Similarly for the “only” styles, such as

Similarly for the “only” styles, such as long-only-short-only: -



\glsabbrvonlyfont  \glsabbrvonlyfont{text}

-

+

for the short form, -



\glsfirstabbrvonlyfont  \glsfirstabbrvonlyfont{text}

-

+

for the first use short form, -



\glslongonlyfont  \glslongonlyfont{text}

-

+

for the long form, -



\glsfirstlongonlyfont  }

-

+

for the first use long form, and -



\glsxtronlysuffix  \glsxtronlysuffix

-

+

for the short plural suffix. -

Note that by default inserted material (provided in the final optional argument of +

Note that by default inserted material (provided in the final optional argument of commands like \gls), is placed outside the font command in the predefined styles. To move it inside, use: -



\glsxtrinsertinsidetrue  \glsxtrinsertinsidetrue

-

+

This applies to all the predefined styles. For example: @@ -7748,17 +7805,17 @@ This applies to all the predefined styles. For example:  
\renewcommand*{\glsfirstlongdefaultfont}[1]{\emph{#1}}  
\glsxtrinsertinsidetrue

-

This will make the long form and the inserted text emphasized, whereas the default +

This will make the long form and the inserted text emphasized, whereas the default (without \glsxtrinsertinsidetrue) would place the inserted text outside of the emphasized font. -

Note that for some styles, such as the

Note that for some styles, such as the short-long, the inserted text would be placed inside the font command for the short form (rather than the long form in the above example). -

Remember that

Remember that \textsc renders lowercase letters as small capitals. Uppercase letters are rendered as normal uppercase letters, so if you specify the short form in @@ -7772,8 +7829,8 @@ convert its argument to lowercase. For example:

\renewcommand*{\glsabbrvscfont}[1]{\textsc{\MakeLowercase{#1}}}
-

-

If you want to easily switch between the “sc” and “sm” styles, you may find it +

+

If you want to easily switch between the “sc” and “sm” styles, you may find it easier to redefine this command to convert case: @@ -7783,16 +7840,16 @@ easier to redefine this command to convert case: \renewcommand*{\glsabbrvscfont}[1]{\textsc{\MakeTextLowercase{#1}}}  
\renewcommand*{\glsabbrvsmfont}[1]{\textsmaller{\MakeTextUppercase{#1}}}

-

-

Some of the styles use -


+

Some of the styles use +


\glsxtrfullsep  \glsxtrfullsep{label}

-

+

as a separator between the long and short forms. This is defined as a space by default, but may be changed as required. For example: @@ -7802,7 +7859,7 @@ default, but may be changed as required. For example:

\renewcommand*{\glsxtrfullsep}[1]{~}
-

or +

or @@ -7810,8 +7867,8 @@ default, but may be changed as required. For example:

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

-

The new naming scheme for abbreviation styles is as follows:

+

+

The new naming scheme for abbreviation styles is as follows:

-

Or, if you are using

Or, if you are using hyperref: @@ -10670,8 +10727,8 @@ class="cmss-10">hyperref\texorpdfstring{\glsabbrvfont{\glsentryshort{html}}}{\glsentryshort{html}}}

-

-

Since this is a bit cumbersome, you might want to define a new command to do +

+

Since this is a bit cumbersome, you might want to define a new command to do this for you. However, if you have mixed styles this won’t work as commands like \gls and \MakeUppercase. -

The

The glossaries-extra package tries to resolve this by modifying \markright and @@ -10694,12 +10751,12 @@ class="cmtt-10">\markboth and \@starttoc. If you don’t like this change, you can restore their former definitions using -



\glsxtrRevertMarks  \glsxtrRevertMarks

-

+

In this case, you’ll have to use the glossaries manual’s recommendations of either simply using \chapter[A Chapter about \glsentryshort{html}]{A Chapter about \gls{html}}

-

Alternatively, you need to find a way to insert

Alternatively, you need to find a way to insert \glsxtrmarkhook and \@glsxtrinmark at the start of the header or table of contents either scoped or afterwards cancelled with \@glsxtrnotinmark and \glsxtrrestoremarkhook. -

If you don’t revert the mark commands back with

If you don’t revert the mark commands back with \glsxtrRevertMarks, you can use the commands described below in the argument of sectioning commands. You can still use them even if the mark commands have been reverted, but only where they don’t conflict with the page style. -

The commands listed below all use

The commands listed below all use \texorpdfstring if hyperref

These commands essentially behave as though you have used

These commands essentially behave as though you have used \glsxtrshort (or equivalent) with the options noindexheaduc attribute to “true” for the appropriate category. -

If you use one of the

If you use one of the \textsc styles, be aware that the default fonts don’t provide bold small-caps or italic small-caps. This means that if the chapter @@ -10765,239 +10822,239 @@ class="cmtt-10">\glsabbrvfont. You may want to consider using the slantsc package in this case.
-

-

Display the short form: -


+

Display the short form: +


\glsfmtshort  \glsfmtshort{label}

-

-

Display the plural short form: -


+

Display the plural short form: +


\glsfmtshortpl  \glsfmtshortpl{label}

-

-

First letter upper case singular short form: -


+

First letter upper case singular short form: +


\Glsfmtshort  \Glsfmtshort{label}

-

+

(No case-change applied to PDF bookmarks.) -

First letter upper case plural short form: +

First letter upper case plural short form: -



\Glsfmtshortpl  \Glsfmtshortpl{label}

-

+

(No case-change applied to PDF bookmarks.) -

Display the long form: -


Display the long form: +


\glsfmtlong  \glsfmtlong{label}

-

-

Display the plural long form: -


+

Display the plural long form: +


\glsfmtlongpl  \glsfmtlongpl{label}

-

-

First letter upper case singular long form: -


+

First letter upper case singular long form: +


\Glsfmtlong  \Glsfmtlong{label}

-

+

(No case-change applied to PDF bookmarks.) -

First letter upper case plural long form: -


First letter upper case plural long form: +


\Glsfmtlongpl  \Glsfmtlongpl{label}

-

+

(No case-change applied to PDF bookmarks.) -

There are similar commands for the full form, but note that these use the

There are similar commands for the full form, but note that these use the inline full form, which may be different from the full form used by \gls. -

Display the full form: -


Display the full form: +


\glsfmtfull  \glsfmtfull{label}

-

-

Display the plural full form: -


+

Display the plural full form: +


\glsfmtfullpl  \glsfmtfullpl{label}

-

-

First letter upper case singular full form: -


+

First letter upper case singular full form: +


\Glsfmtfull  \Glsfmtfull{label}

-

+

(No case-change applied to PDF bookmarks.) -

First letter upper case plural full form: -


First letter upper case plural full form: +


\Glsfmtfullpl  \Glsfmtfullpl{label}

-

+

(No case-change applied to PDF bookmarks.) -

There are also equivalent commands for the value of the

There are also equivalent commands for the value of the text field: -



\glsfmttext  \glsfmttext{label}

-

-

First letter converted to upper case: -


+

First letter converted to upper case: +


\Glsfmttext  \Glsfmttext{label}

-

+

(No case-change applied to PDF bookmarks.) -

The plural equivalents: +

The plural equivalents: -



\glsfmtplural  \glsfmtplural{label}

-

+

and -



\Glsfmtplural  \Glsfmtplural{label}

-

-

Likewise for the value of the

+

Likewise for the value of the name field: -



\glsfmtname  \glsfmtname{label}

-

-

First letter converted to upper case: -


+

First letter converted to upper case: +


\Glsfmtname  \Glsfmtname{label}

-

+

(No case-change applied to PDF bookmarks.) -

Similarly for the value of the

Similarly for the value of the first field: -



\glsfmtfirst  \glsfmtfirst{label}

-

-

First letter converted to upper case: -


+

First letter converted to upper case: +


\Glsfmtfirst  \Glsfmtfirst{label}

-

+

(No case-change applied to PDF bookmarks.) -

The plural equivalents: -


The plural equivalents: +


\glsfmtfirstpl  \glsfmtfirstpl{label}

-

+

and -



\Glsfmtfirstpl  \Glsfmtfirstpl{label}

-

+

-

-

+

Top

5. Categories

-

Each entry defined by

Each entry defined by \newglossaryentry (or commands that internally use it such as babel shorthands on that make some characters active.) -

The use of categories can give you more control over the way entries are displayed +

The use of categories can give you more control over the way entries are displayed in the text or glossary. Note that an entry’s category is independent of the glossary type. Be careful not to confuse category with type. -

The default category assumed by

The default category assumed by \newglossaryentry is labelled general. @@ -11031,7 +11088,7 @@ class="cmtt-10">\newacronym have the category set to acronym by default. -

Additionally, if you have enabled

Additionally, if you have enabled \newterm with the numbersnumber. -

You can obtain the category label for a given entry using -


You can obtain the category label for a given entry using +


\glscategory  \glscategory{label}

-

+

This is equivalent to commands like \glsentryname and so may be used in an expandable context. No error is generated if the entry doesn’t exist. -

You can test the category for a given entry using -


You can test the category for a given entry using +


\glsifcategory  part}{false part}

-

+

This is equivalent to

-

Here the

Here the short and longuser1 \glsuseri{dante}[.]

-

This will bring the punctuation character inside the

This will bring the punctuation character inside the link-text and it won’t be discarded. @@ -11301,21 +11358,21 @@ class="description">If this attribute is set to “true” any entry def class="cmtt-10">\newabbreviation will automatically have spaces in the long form replaced with -



\glsxtrwordsep  \glsxtrwordsep

-

+

and each word is encapsulated with -



\glsxtrword  \glsxtrword{word}

-

+

For example: @@ -11325,7 +11382,7 @@ class="cmtt-10">}


\glssetcategoryattribute{abbreviation}{markwords}{true}  
\newabbreviation{ip}{IP}{Internet Protocol}
-

is essentially the same as +

is essentially the same as @@ -11334,7 +11391,7 @@ class="cmtt-10">}


\newabbreviation{ip}{IP}  
{\glsxtrword{Internet}\glsxtrwordsep\glsxtrword{Protocol}}
-

The “hyphen” styles, such as

The “hyphen” styles, such as long-hyphen-short-hyphen, take advantage of this @@ -11356,15 +11413,15 @@ class="cmtt-10">\glsxtrlong. You can provide your own \newcommand{\hyplong}[2][]{%  
 {\def\glsxtrwordsep{-}\glsxtrlong[#1]{#2}}}

-

-

This setting will also adjust the long plural. -

This setting may result in the

+

This setting will also adjust the long plural. +

This setting may result in the \glsxtrword and \glsxtrwordsep markup ending up in the sort field, depending on the style in use.
-

+

markwords but applies to the short form. (Only useful for abbreviations that contain spaces.) -

This setting will only adjust the short plural if the

This setting will only adjust the short plural if the shortplural key isn’t used. This setting will take precedence over insertdots. -

This setting may result in the

This setting may result in the \glsxtrword and \glsxtrwordsep markup ending up in the sort field, depending on the style in use.
-

+

markshortwords. -

If you explicitly override the short plural using the

If you explicitly override the short plural using the shortplural key, you must explicitly insert the dots yourself (since there’s no way for the code to determine if the plural has a suffix that shouldn’t be followed by a dot).
-

-

This attribute is best used with the

+

This attribute is best used with the discardperiod attribute set to “true”. @@ -11508,7 +11565,7 @@ class="cmtt-10">\glsxtrifcounttrigger\cgls should behave. -

With

With glossaries, commands like \cgls use \cglsformat only if the previous @@ -11546,7 +11603,7 @@ class="cmtt-10">\capitalisewordsmfirstuc). If you want to use a different command you can redefine: -



\glsxtrfieldtitlecasecs  \glsxtrfieldtitlecasecs{phrase cs}

-

+

For example: @@ -11563,7 +11620,7 @@ class="cmtt-10">}

\newcommand*{\glsxtrfieldtitlecasecs}[1]{\xcapitalisefmtwords*{#1}}
-

(Note that the argument to

(Note that the argument to \glsxtrfieldtitlecasecs will be a control sequence whose replacement text is the entry’s description, which is why \xcapitalisefmtwords is needed instead of \capitalisefmtwords.)

-

Any other values of this attribute are ignored. Remember that there are design +

Any other values of this attribute are ignored. Remember that there are design limitations for both the first letter uppercasing and the title casing commands. See the mfirstuc\glossentrydesc \glssetcategoryattribute{general}{glossdescfont}{emph}

-

+

\glossentryname \glssetcategoryattribute{general}{glossnamefont}{emph}
-

Note that this overrides

Note that this overrides \glsnamefont which will only be used if this attribute hasn’t been set. -

Remember that glossary styles may additionally apply a font change, +

Remember that glossary styles may additionally apply a font change, such as the list styles which put the name in the optional argument of \item. @@ -11711,7 +11768,7 @@ class="cmtt-10">\gls will be set to the

\glssetcategoryattribute{general}{targeturl}{master-doc.pdf}
-

(See also the accompanying sample file

(See also the accompanying sample file sample-external.tex.) If the URL contains awkward characters (such as % or \glspercentchar and \glstildechar that expand to literal characters. -

If you want to a named anchor within the target URL (notionally adding +

If you want to a named anchor within the target URL (notionally adding #name⟩ to the URL), then you also need to set \glslabel within ⟨name⟩ which is set by commands like \gls to the entry’s label. -

All the predefined glossary styles start each entry listing with

All the predefined glossary styles start each entry listing with \glstarget which sets the anchor to \glolinkprefix\glslabel, so if you want @@ -11751,10 +11808,10 @@ class="cmss-10">targeturl \glssetcategoryattribute{general}{targetname}{\glolinkprefix\glslabel}

-

(If the target document changed

(If the target document changed \glolinkprefix then you will need to adjust the above as appropriate.) -

If the anchor is in the form ⟨

If the anchor is in the form ⟨name1.name2⟩ then use targetcategory for the ⟨name1⟩ part. -

For example: +

For example: @@ -11777,11 +11834,11 @@ class="cmti-10">name1⟩ part.  
\glssetcategoryattribute{general}{targetcategory}{page}  
\glssetcategoryattribute{general}{targetname}{7}

-

will cause all link text for

will cause all link text for general entries to link to master-doc.pdf#page.7 (page 7 of that PDF). -

If you want a mixture in your document of entries that link to an internal +

If you want a mixture in your document of entries that link to an internal glossary and entries that link to an external URL then you can use the starred form of \newignoredglossary\newignoredglossary  category=external,  
  description={external example}}

-

+

-

An attribute can be set using: -


An attribute can be set using: +


\glssetcategoryattribute  attribute-label}{value}

-

+

where ⟨category-label⟩ is the category label, ⟨attribute-label⟩ is the attribute label and ⟨value⟩ is the new value for the attribute. -

There is a shortcut version to set the

There is a shortcut version to set the regular attribute to “true”: -



\glssetregularcategory  \glssetregularcategory{category-label}

-

-

If you need to lookup the category label for a particular entry, you can use the +

+

If you need to lookup the category label for a particular entry, you can use the shortcut command: -



\glssetattribute  } class="cmtt-10">{⟨value}

-

+

This uses \glssetcategoryattribute with \glscategory to set the attribute. Note that this will affect all other entries that share this entry’s category. -

You can fetch the value of an attribute for a particular category using: -


You can fetch the value of an attribute for a particular category using: +


\glsgetcategoryattribute  } class="cmtt-10">{⟨attribute-label}

-

+

Again there is a shortcut if you need to lookup the category label for a given entry: -



\glsgetattribute  } -

-

You can test if an attribute has been assigned to a given category using: -


+

You can test if an attribute has been assigned to a given category using: +


\glshascategoryattribute  true code}{false code}

-

+

This uses etoolbox’s true code⟩ if the attribute has been set and isn’t blank and isn’t \relax. The shortcut if you need to lookup the category label from an entry is: -



\glshasattribute  code}{false code}

-

-

You can test the value of an attribute for a particular category using: -


+

You can test the value of an attribute for a particular category using: +


\glsifcategoryattribute  true-part}{false-part}

-

+

This tests if the attribute (given by ⟨attribute-label⟩) for the category (given by ⟨true-part⟩ is done. If the attribute isn’t set or is set but isn’t equal to ⟨value⟩, ⟨false part⟩ is done. -

For example: +

For example: @@ -11963,7 +12020,7 @@ class="cmti-10">false part⟩ is done.

\glsifcategoryattribute{general}{nohyper}{true}{NO HYPER}{HYPER}
-

This does “NO HYPER” if the

This does “NO HYPER” if the general category has the nohyper attribute set to true otherwise if does “HYPER”. -

With boolean-style attributes like

With boolean-style attributes like nohyper, make sure you always test for true not false in case the attribute hasn’t been set. -

Again there’s a shortcut if you need to lookup the category label from a particular +

Again there’s a shortcut if you need to lookup the category label from a particular entry: -



\glsifattribute  true-part} {false-part}

-

-

There’s also a shortcut to determine if a particular category has the

+

There’s also a shortcut to determine if a particular category has the regular attribute set to “true”: -



\glsifregularcategory  true-part}{false-part}

-

+

Alternatively, if you need to lookup the category for a particular entry: -



\glsifregular  }{false-part}

-

+

Note that if the regularregular attribute has been set to “false”: -



\glsifnotregularcategory  true-part}{false-part}

-

+

or for a particular entry: -



\glsifnotregular  }{false-part}

-

+

Again, if the regular attribute hasn’t been set, the above do ⟨false-part⟩, so these reverse commands aren’t logically opposite in the strict sense. -

You can iterate through all entries with a given category using: -


You can iterate through all entries with a given category using: +


\glsforeachincategory[glossary-labels]{label-cs}{body}

-

+

This iterates through all entries in the glossaries identified by the comma-separated list ⟨glossary-labels⟩ that have the category given by ⟨

Similarly, you can iterate through all entries that have a category with a given +

Similarly, you can iterate through all entries that have a category with a given attribute using: -



\glsforeachwithattribute  }{body}

-

+

This will do ⟨body⟩ for each entry that has a category with the attribute ⟨attribute-label⟩ set to ⟨attribute-value⟩. The remaining arguments are as the previous command. -

You can change the category for a particular entry using the standard glossary +

You can change the category for a particular entry using the standard glossary field changing commands, such as \glsfielddef. Alternatively, you can use -



\glsxtrsetcategory  }{category-label}

-

+

This will change the category to ⟨category-label⟩ for each entry listed in the comma-separated list ⟨\glsfieldxdef so it will expand ⟨category-label⟩ and make the change global. -

You can also change the category for all entries with a glossary or glossaries +

You can also change the category for all entries with a glossary or glossaries using: -



\glsxtrsetcategoryforall  } class="cmtt-10">{⟨category-label}

-

+

where ⟨glossary-labels⟩ is a comma-separated list of glossary labels.

-

-

+

Top

6. Entry Counting

-

As mentioned in

As mentioned in §2.4 Entry Counting Modifications, §5 Categories). -

Remember that entry counting only counts the number of times an entry is used +

Remember that entry counting only counts the number of times an entry is used by commands that change the first use flag. (That is, all those commands that mark the entry as having been used.) There are many commands that don’t modify this flag and they won’t contribute to the entry use count.
-

-

With

+

With glossaries-extra, you may use \cgls instead of shortcuts=ac). -

All upper case versions (not provided by

All upper case versions (not provided by glossaries) are also available: -



\cGLS  label}[insert]

-

+

and -



\cGLSpl  label}[insert]

-

+

These are analogous to \cgls and \cglspl but they use -



\cGLSformat  label}{insert}

-

+

and -



\cGLSplformat  label}{insert}

-

+

which convert the analogous \cglsformat and \cglsplformat to upper case. -

Just using

Just using glossaries: @@ -12315,8 +12372,8 @@ class="cmss-10">glossaries:  
\printglossaries  
\end{document}

-

-

If you switch to

+

If you switch to glossaries-extra you must set the entrycountentrycount\printglossaries  
\end{document}

-

-

When activated with

+

When activated with \glsenableentrycount, commands such as \cgls now use -



\glsxtrifcounttrigger  } class="cmtt-10">{⟨normal code}

-

+

to determine if the entry trips the entry count trigger. The ⟨trigger code⟩ uses commands like trigger code⟩ but the usual \gls behaviour in ⟨normal code⟩). -

The default definition is: +

The default definition is: @@ -12392,7 +12449,7 @@ class="cmti-10">normal code⟩).  
 {#3}%  
}

-

This means that if an entry is assigned to a category that has the

This means that if an entry is assigned to a category that has the entrycount @@ -12400,7 +12457,7 @@ attribute then the ⟨trigger code⟩ will be used if the previous count value (the number of times the entry was used on the last run) is greater than the value of the attribute. -

For example, to trigger normal use if the previous count value is greater than +

For example, to trigger normal use if the previous count value is greater than four: @@ -12409,8 +12466,8 @@ four:

\glssetcategoryattribute{abbreviation}{entrycount}{4}
-

-

There is a convenient command provided to enable entry counting, set the +

+

There is a convenient command provided to enable entry counting, set the entrycount\gls, etc to use \cgls etc: -



\GlsXtrEnableEntryCounting  } class="cmtt-10">{⟨value}

-

+

The first argument ⟨categories⟩ is a comma-separated list of categories. For each category, the value⟩. In addition, this does:  
\renewcommand*{\GLS}{\cGLS}%  
\renewcommand*{\GLSpl}{\cGLSpl}%

-

This makes it easier to enable entry-counting on existing documents. -

If you use

This makes it easier to enable entry-counting on existing documents. +

If you use \GlsXtrEnableEntryCounting more than once, subsequent uses will just set the entrycount attribute for each listed category. -

The above example document can then become: +

The above example document can then become: @@ -12475,12 +12532,12 @@ class="cmss-10">entrycount\printglossaries  
\end{document}

-

-

The standard entry-counting function describe above counts the number of times +

+

The standard entry-counting function describe above counts the number of times an entry has been marked as used throughout the document. (The reset commands will reset the total back to zero.) If you prefer to count per sectional-unit, you can use -



\GlsXtrEnableEntryUnitCounting  value}{counter-name}

-

+

where ⟨categories⟩ is a comma-separated list of categories to which this feature should be applied, ⟨value⟩ is the trigger value and ⟨counter-name⟩ is the name of the counter used by the sectional unit. -

Due to the asynchronous nature of T

Due to the asynchronous nature of TEX’s output routine, discrepancies will occur in page spanning paragraphs if you use the page counter.
-

-

Note that you can’t use both the document-wide counting and the per-unit +

+

Note that you can’t use both the document-wide counting and the per-unit counting in the same document. -

The counter value is used as part of a label, which means that

The counter value is used as part of a label, which means that \thecounter-name⟩ needs to be expandable. Since \theHcounter-name⟩ if it exists otherwise it will use \thecounter-name⟩. -

The per-unit counting function uses two attributes:

The per-unit counting function uses two attributes: entrycount (as before) and @@ -12534,53 +12591,53 @@ class="cmss-10">unitcount

Both the original document-wide counting mechanism and the per-unit counting +

Both the original document-wide counting mechanism and the per-unit counting mechanism provide a command that can be used to access the current count value for this run: -



\glsentrycurrcount  \glsentrycurrcount{label}

-

+

and the final value from the previous run: -



\glsentryprevcount  \glsentryprevcount{label}

-

+

In the case of the per-unit counting, this is the final value for the current unit. In both commands ⟨label⟩ is the entry’s label. -

The per-unit counting mechanism additionally provides: -


The per-unit counting mechanism additionally provides: +


\glsentryprevtotalcount  \glsentryprevtotalcount{label}

-

+

which gives the sum of all the per-unit totals from the previous run for the entry given by ⟨label⟩, and -



\glsentryprevmaxcount  \glsentryprevmaxcount{label}

-

+

which gives the maximum per-unit total from the previous run. -

The above two commands are unavailable for the document-wide counting. -

Example of per-unit counting, where the unit is the chapter: +

The above two commands are unavailable for the document-wide counting. +

Example of per-unit counting, where the unit is the chapter: @@ -12604,7 +12661,7 @@ which gives the maximum per-unit total from the previous run.  
\printglossaries  
\end{document}

-

In this document, the

In this document, the css entry is used three times in the first chapter. This is more than the trigger value of 2, so \gls{css} is expanded on \gls{css} doesn’t get a line added to the glossary file. -

The

The html is used a total of three times, but the expansion and indexing suppression trigger is tripped in both chapters because the per-unit total (1 for the first chapter and 2 for the second chapter) is less than or equal to the trigger value. -

The

The sample entry has only been used once, but it doesn’t trip the indexing suppression because it’s in the general category, which hasn’t been listed in \GlsXtrEnableEntryUnitCounting. -

The per-unit entry counting can be used for other purposes. In the following +

The per-unit entry counting can be used for other purposes. In the following @@ -12639,12 +12696,12 @@ won’t be triggered, but the unit entry count is used to automatically supp hyperlink for commands like \gls by modifying the hook -



\glslinkcheckfirsthyperhook  \glslinkcheckfirsthyperhook

-

+

which is used at the end of the macro the determines whether or not to suppress the hyperlink. @@ -12672,10 +12729,10 @@ hyperlink.  
\printglossaries  
\end{document}

-

This only produces a hyperlink for the first instance of

This only produces a hyperlink for the first instance of \gls{sample} on each page. -

The earlier warning about using the

The earlier warning about using the page counter still applies. If the first instance of -

-

+

Top

7. Auto-Indexing

-

It’s possible that you may also want a normal index as well as the glossary, +

It’s possible that you may also want a normal index as well as the glossary, and you may want entries to automatically be added to the index (as in this document). There are two attributes that govern this: indexnamedualindex. -

The

The \glsxtrpostnamehook macro, used at the end of \glossentrynamename key. -

The internal macro used by the

The internal macro used by the glossaries package to write the information to the external glossary file is modified to check for the dualindex attribute. -

In both cases, the indexing is done through -


In both cases, the indexing is done through +


\glsxtrdoautoindexname  }{attribute-label}

-

+

This uses the standard \index command with the sort value taken from the entry’s @@ -12747,15 +12804,15 @@ class="cmti-10">label⟩}. As from v1.16, there are user-level commands available to change the sort and actual value used by the automated index. -

The actual value is given by -


The actual value is given by +


\glsxtrautoindexentry  \glsxtrautoindexentry{label}

-

+

where ⟨label⟩ is the entry’s label. The default definition is: @@ -12765,12 +12822,12 @@ class="cmti-10">label⟩ is the entry’s label. The default def

\newcommand*{\glsxtrautoindexentry}[1]{\string\glsentryname{#1}}
-

Note the use of

Note the use of \string to prevent \glsentryname from being expanded as it’s written to the index file. -

The sort value is assigned using: -


The sort value is assigned using: +


\glsxtrautoindexassignsort  }{label}

-

+

where ⟨label⟩ is the entry label and ⟨cs⟩ is the command which needs to be set to the @@ -12794,31 +12851,31 @@ sort value. The default definition is:  
  \glsletentryfield{#1}{#2}{sort}%  
}

-

After this macro is called, ⟨

After this macro is called, ⟨cs⟩ is then processed to escape any of makeindex’s special characters. Note that this escaping is only performed on the sort not on the actual value. -

The command used to perform the actual indexing is: -


The command used to perform the actual indexing is: +


\glsxtrautoindex  \glsxtrautoindex{text}

-

+

This just does \index{text} by default. -

The entry’s

The entry’s parent field isn’t referenced in this automated indexing.
-

-

For example, to index the value of the

+

For example, to index the value of the first key, instead of the namename \renewcommand*{\glsxtrautoindexentry}[1]{\string\glsentryfirst{#1}}

-

and if the sort value also needs to be set to the

and if the sort value also needs to be set to the long field, if present, otherwise the sort  {\glsletentryfield{#1}{#2}{sort}}%  
}

-

-

If the value of the attribute given by ⟨

+

If the value of the attribute given by ⟨attribute-label⟩ is “true”, no encap will be added, otherwise the encap will be the attribute value. For example: @@ -12858,7 +12915,7 @@ added, otherwise the encap will be the attribute value. For example:

\glssetcategoryattribute{general}{indexname}{textbf}
-

will set the encap to

will set the encap to textbf which will display the relevant page number in bold whereas @@ -12868,13 +12925,13 @@ whereas

\glssetcategoryattribute{general}{dualindex}{true}
-

won’t apply any formatting to the page number in the index. -

The location used in the index will always be the page number not the counter +

won’t apply any formatting to the page number in the index. +

The location used in the index will always be the page number not the counter used in the glossary. (Unless some other loaded package has modified the definition of \index to use some thing else.)
-

-

By default the

+

By default the format key won’t be used with the format key to override the attribute value by using the preamble-only command: -



\GlsXtrEnableIndexFormatOverride  \GlsXtrEnableIndexFormatOverride

-

+

If you use this command and hyperref has been loaded, then the \glshypernumber to allow formats that use that command. -

The

The dualindex attribute will still be used on subsequent use even if the @@ -12918,8 +12975,8 @@ class="cmss-10">dualindexnoindex key.
-

-

The

+

The \glsxtrdoautoindexname command will attempt to escape any of \makeindex\encapchar have been defined before glossaries-extra is loaded). -

If this isn’t the case, you can use the following preamble-only commands to set +

If this isn’t the case, you can use the following preamble-only commands to set the correct characters. -

Be very careful of possible shifting category codes!
-

-


Be very careful of possible shifting category codes!
+

+


\GlsXtrSetActualChar  \GlsXtrSetActualChar{char}

-

+

Set the actual character to ⟨char⟩. -



\GlsXtrSetLevelChar  \GlsXtrSetLevelChar{char}

-

+

Set the level character to ⟨char⟩. -



\GlsXtrSetEscChar  \GlsXtrSetEscChar{char}

-

+

Set the escape (quote) character to ⟨char⟩. -



\GlsXtrSetEncapChar  }

-

+

Set the encap character to ⟨char⟩.

-

-

+

Top

8. On-the-Fly Document Definitions

-

The commands described here may superficially look like ⟨

The commands described here may superficially look like ⟨word\index{word\index then just use \index.
-

-

The

+

The glossaries package advises against defining entries in the documentglossaries-extra but can be enabled using the href="#styopt.docdefs">docdefs package options. -

Although this can be problematic, the

Although this can be problematic, the glossaries-extra package provides a way of defining and using entries within the documentdocdefsThere are limitations with this approach, so take care with it. This function is disabled by default, but can be enabled using the preamble-only command: -



\GlsXtrEnableOnTheFly  \GlsXtrEnableOnTheFly

-

+

When used, this defines the commands described below. -

The commands

The commands \glsxtr, \glsxtrpl, \Glsxtr and \printglossary\gls or there may be unexpected results.
-

-


+


\glsxtr  dfn-options]{label}

-

+

If an entry with the label ⟨label⟩ has already been defined, this just does \gls @@ -13097,7 +13154,7 @@ class="cmitt-10">dfn-options⟩}

-

The ⟨

The ⟨label⟩ must contain any non-expandable commands, such as formatting commands or problematic characters. If the term requires any of these, they must be omitted from the ⟨name key must be provided in the optional argument ⟨dfn-options⟩.
-

+

-

The second optional argument ⟨

The second optional argument ⟨dfn-options⟩ should be empty if the entry has already been defined, since it’s too late for them. If it’s not empty, a warning will be generated with -



\GlsXtrWarning  dfn-options}{label}

-

-

For example, this warning will be generated on the second instance of

+

For example, this warning will be generated on the second instance of \glsxtr below: @@ -13136,8 +13193,8 @@ below:  
 ... later  
\glsxtr[][plural=geese]{goose}

-

-

If you are considering doing something like: +

+

If you are considering doing something like: @@ -13148,14 +13205,14 @@ below:  
 ... later  
\goose\ some more text here

-

then don’t bother. It’s simpler and less problematic to just define the entries in the +

then don’t bother. It’s simpler and less problematic to just define the entries in the preamble with \newglossaryentry and then use \gls in the document. -

There are plural and case-changing alternatives to

There are plural and case-changing alternatives to \glsxtr: -



\glsxtrpl  dfn-options]{label}

-

+

This is like \glsxtr but uses \glspl instead of \gls. -



\Glsxtr  dfn-options]{label}

-

+

This is like \glsxtr but uses \Gls instead of \gls. -



\Glsxtrpl  dfn-options]{label}

-

+

This is like \glsxtr but uses \Glspl instead of \gls. -

If you use UTF-8 and don’t want the inconvenient of needing to use an +

If you use UTF-8 and don’t want the inconvenient of needing to use an ASCII-only label, then it’s better to use XƎLATEX or LuaLATEX instead of LATEX (or pdfLATEX). If you really desperately want to use UTF-8 entry labels @@ -13212,20 +13269,20 @@ without switching to X\GlsXtrEnableOnTheFly that allows you to use UTF-8 characters in ⟨label⟩, but it’s experimental and may not work in some cases. -

If you use the starred version of

If you use the starred version of \GlsXtrEnableOnTheFly don’t use any commands in the ⟨label⟩, even if they expand to just text.
-

+

-

-

+

Top

9. bib2gls: Managing Reference Databases

-

There is a new command line application called

There is a new command line application called bib2gls.glstex file which is loaded using \glsxtrresourcefile (or \GlsXtrLoadResources). -

This means that you can use a reference managing system, such as JabRef, to +

This means that you can use a reference managing system, such as JabRef, to maintain the database and it reduces the TEX overhead by only defining the entries that are actually required in the document. If you currently have a convertgls2bibbib2gls.) -

There are some new commands and options added to

There are some new commands and options added to glossaries-extra to help assist the integration of bib2gls into the document build process. -

An example of the contents of

An example of the contents of .bib file that stores glossary entries that can be extracted with bib2gls  description={a waterbird with a long neck}  
}

-

-

The follow provides some abbreviations: +

+

The follow provides some abbreviations: @@ -13322,8 +13379,8 @@ class="cmtt-10">bib2gls  description={a simple interpreted server-side scripting language}  
}

-

-

Here are some symbols: +

+

Here are some symbols: @@ -13346,8 +13403,8 @@ preamble{"\providecommand{\mtx}[1]{\boldsymbol{#1}}"}  
  description={a set}  
}

-

-

To ensure that

+

To ensure that bib2glsrecord \usepackage[record]{glossaries-extra}

-

If this option’s value is omitted (as above), the normal indexing will be switched off, +

If this option’s value is omitted (as above), the normal indexing will be switched off, since bib2gls can also sort the entries and collate the locations. -

If you still want to use an indexing application (for example, you need a custom +

If you still want to use an indexing application (for example, you need a custom \printglossaries), but it’s a good idea to also ins id="dx1-31019">bib2gls to omit sorting to save time. -

The

The .glstex file created by \bib2gls is loaded using: -



\glsxtrresourcefile  ]{filename}

-

+

(Don’t include the file extension in ⟨filename⟩.) There’s a shortcut version (recommended over the above) that sets ⟨filename⟩ to use \jobname: -



\GlsXtrLoadResources  \GlsXtrLoadResources[options]

-

+

On the first use, this command is a shortcut for

}
where ⟨n⟩ is the current value of -



\glsxtrresourcecount

-

+

which is incremented at the end of \GlsXtrLoadResources. Any advisory notes regarding \glsxtrresourcefile also apply to \GlsXtrLoadResources. -

The

The \glsxtrresourcefile command writes the line

-

at the start of the front matter and +

at the start of the front matter and @@ -13530,9 +13587,9 @@ example,

\GlsXtrSetDefaultNumberFormat{glsnumberformat}
-

at the start of the main matter to prevent any records in the front matter from +

at the start of the main matter to prevent any records in the front matter from occurring in the location lists. -

Note that commands like

-

-

If you want to add all entries to the glossary, you need to tell

+

If you want to add all entries to the glossary, you need to tell bib2gls this in the @@ -13559,7 +13616,7 @@ options list. For example:

\GlsXtrLoadResources[src={terms},selection={all}]
-

This will add all entries, regardless of whether or not they have any records in the +

This will add all entries, regardless of whether or not they have any records in the .aux file. Those that don’t have any records will have an empty location list. See the .aux file. Those that don’t have any records will h href="#glo:bib2gls">bib2gls user manual for more details of this option. -

+

-

Top

9.2 Sorting and Displaying the Glossary

-

There are many sorting options provided by

There are many sorting options provided by bib2gls. The default is to sort @@ -13598,7 +13655,7 @@ example:  
  sort=de-DE-1996 % sort according to this locale  
]

-

The locale-sensitive sort methods usually ignore most punctuation so for lists of +

The locale-sensitive sort methods usually ignore most punctuation so for lists of symbols you may find it more appropriate to use one of the letter-base sort methods that sort according to the Unicode value of each character. See the bib2gls manual for full details of all the available sort methods. -

Since the

Since the .glstex file only defines those references required within the document (selected according to the selection option) and the definitions have been written in @@ -13621,7 +13678,7 @@ href="#sec:printunsrt">§10.2 Display All Entries Without Sorting or Indexing. -

Suppose the

Suppose the .bib examples shown above have been stored in the files terms.bib, EX’s path. Then the document might look like:  
\printunsrtglossaries  
\end{document}

-

The document build process (assuming the document is called

The document build process (assuming the document is called mydoc) is: @@ -13656,7 +13713,7 @@ pdflatex mydoc  
bib2gls mydoc  
pdflatex mydoc

-

This creates a single glossary containing the entries:

This creates a single glossary containing the entries: bird, duck, goose, shtml. These cross-referenced entries won’t have a location list when the glossary is first displayed, but depending on how they are referenced, they may pick up a location list on the next document build. -

The entries can be separated into different glossaries with different sort +

The entries can be separated into different glossaries with different sort methods: @@ -13717,8 +13774,8 @@ methods:  
\printunsrtglossaries  
\end{document}

-

-

Or you can have multiple instance of

+

Or you can have multiple instance of \GlsXtrLoadResources with the same type, which will produce a glossary with ordered sub-blocks. For example: @@ -13744,7 +13801,7 @@ class="cmtt-10">type, which will produce a glossary with ordered sub-bloc  
\printunsrtglossaries  
\end{document}

-

This will result in a glossary where the first group has the title “Abbreviations”, the +

This will result in a glossary where the first group has the title “Abbreviations”, the second group has the title “Symbols” and then follow the usual letter groups. Note that for this example to work, you must run bib2gls -g myDoc  
pdflatex myDoc

-

-

You can provide your own custom sort rule. For example, if you are using +

+

You can provide your own custom sort rule. For example, if you are using XƎLATEX or LuaLATEX:

  class="cmtt-10">]
-

+

-

Top

9.3 Supplementary Commands

-

These commands are provided by

These commands are provided by glossaries-extra for use with bib2gls. -



\glshex  \glshex

-

+

This is just defined as \string\u, which is required when you need to indicate a Unicode character in the form \uhex⟩ in some of the resource options (as described above). -

The information provided with

The information provided with \GlsXtrLoadResources is written to the .aux file using

@@ -14061,12 +14118,12 @@ class="cmti-10">information⟩ is the information to pass to bib2gls. The command in the second argument -



\glsxtrresourceinit  \glsxtrresourceinit

-

+

may be used to temporarily redefine commands before the information is written to the file. This does nothing by default, but may be redefined to allow the use of short commands for convenience. For example, with: @@ -14077,13 +14134,13 @@ commands for convenience. For example, with:

\renewcommand{\glsxtrresourceinit}{\let\u\glshex}
-

you can just use, for example,

you can just use, for example, \uE6 instead of \string\uE6 in the custom rule. This redefinition of \u is scoped so its original definition is restored after the write operation. -

It’s possible to specify label prefixes. For example, modifying the earlier +

It’s possible to specify label prefixes. For example, modifying the earlier example: @@ -14110,7 +14167,7 @@ example:  
\printunsrtglossaries  
\end{document}

-

If you do something like this, you may find it more convenient to define custom +

If you do something like this, you may find it more convenient to define custom commands that set the prefix. For example: @@ -14119,12 +14176,12 @@ commands that set the prefix. For example:

\newcommand*{\sym}[2][]{\gls[#1]{sym.#2}}
-

The problem with this is that the custom command

The problem with this is that the custom command \sym does allow for modifiers (such as \gls* or \gls+). Instead you can use: -



\glsxtrnewgls  prefix}{cs}

-

+

which defines the command ⟨cs⟩ that behaves like

@@ -14161,7 +14218,7 @@ class="cmtt-10">]
\glsxtrnewgls{sym.}{\sym}
-

or (to default to no hyperlinks) +

or (to default to no hyperlinks) @@ -14169,12 +14226,12 @@ class="cmtt-10">]

\glsxtrnewgls[hyper=false]{sym.}{\sym}
-

now you can use

now you can use \sym+{M} to behave like \gls+{sym.M}. -

If you also want the plural and first letter upper case versions you can +

If you also want the plural and first letter upper case versions you can use -



\glsxtrnewglslike  }{\Glspl-like cs}

-

+

For example: @@ -14203,8 +14260,8 @@ For example:

\glsxtrnewglslike[hyper=false]{idx.}{\idx}{\idxpl}{\Idx}{\Idxpl}
-

For the all caps versions: -


For the all caps versions: +


\glsxtrnewGLSlike  \GLS-like cs}{\GLSpl-like cs}

-

+

For example: @@ -14228,10 +14285,10 @@ For example:

\glsxtrnewGLSlike[hyper=false]{idx.}{\IDX}{\IDXpl}
-

-

There’s an analogous command for

+

There’s an analogous command for \rgls: -



\glsxtrnewrgls  }{cs}

-

+

and for \rgls, \rglspl, \rGls and \rGlspl: -



\glsxtrnewrglslike  }{\rGlspl-like cs}

-

+

and for the all caps: -



\glsxtrnewrGLSlike  \rGLS-like cs}{\rGLSpl-like cs}

-

-

+

+

-

Top

9.4 Record Counting

-

As from version 1.1 of

As from version 1.1 of bib2glsrecordcount: set to the total number of records found for class="cmtt-10">recordcount.⟨counter⟩: set to the total number of records found for the entry for the given counter. -

If

If --record-count-unit is used then additionally:

  • location⟩: set to the total number of reco -

    Only use the unit counting option if the locations don’t contain any special characters. If +

    Only use the unit counting option if the locations don’t contain any special characters. If you really need it with locations that may contain formatting commands, then you can try redefining: -



    \glsxtrdetoklocation  \glsxtrdetoklocation{location}

    -

    +

    so that it detokenizes ⟨location⟩ but take care when using \GlsXtrLocationRecordCount with commands like \thepage as they can end up becoming detokenized too early. -

    Note that the record count includes locations that

    Note that the record count includes locations that bib2glssection counter (stored in the recordcount.section field) is 1. -

    With the unit counting on as well, the field

    With the unit counting on as well, the field recordcount.page.1 is set to 2, recordcount.page.2 is set to 1, recordcount.page.3 is set to 4 and recordcount.section.3 is set to 1. -

    You can access these fields using the following commands which will expand to +

    You can access these fields using the following commands which will expand to the field value if set or to 0 if unset: -



    \GlsXtrTotalRecordCount  \GlsXtrTotalRecordCount{label}

    -

    +

    This expands to the total record count for the entry given by ⟨label⟩. @@ -14392,8 +14449,8 @@ class="cmti-10">label⟩.

    \GlsXtrTotalRecordCount{bird}
    -

    expands to 8. -


    expands to 8. +


    \GlsXtrRecordCount  label}{counter}

    -

    +

    This expands to the counter total for the entry given by ⟨label⟩ where ⟨counter⟩ is the @@ -14414,7 +14471,7 @@ counter name. For example:

    \GlsXtrRecordCount{bird}{page}
    -

    expands to 7 and +

    expands to 7 and @@ -14422,8 +14479,8 @@ counter name. For example:

    \GlsXtrRecordCount{bird}{section}
    -

    expands to 1. -


    expands to 1. +


    \GlsXtrLocationRecordCount  } class="cmtt-10">{⟨location}

    -

    +

    This expands to the total for the given location. For example @@ -14445,18 +14502,18 @@ This expands to the total for the given location. For example

    \GlsXtrLocationRecordCount{bird}{page}{3}
    -

    expands to 4. Be careful about using

    expands to 4. Be careful about using \thepage in the ⟨location⟩ part. Remember that due to TEX’s asynchronous output routine, \thepage may not be correct. -

    There are commands analogous to the entry counting commands like

    There are commands analogous to the entry counting commands like \cgls and \cglsformat that are triggered by the record count. These are listed below. -



    \rgls  label}[insert]

    -

    -


    +


    \rglspl  label}[insert]

    -

    -


    +


    \rGls  label}[insert]

    -

    -


    +


    \rGlspl  label}[insert]

    -

    -


    +


    \rGLS  label}[insert]

    -

    -


    +


    \rGLSpl  label}[insert]

    -

    +

    These commands check the recordcount \glssetcategoryattribute{abbreviation}{recordcount}{1}

    -

    For convenience, you can use -


    For convenience, you can use +



    -

    +

    to set the recordcountn⟩ for all the categories listed in ⟨category list⟩. -

    The

    The \rgls-like commands use -



    \glsxtrifrecordtrigger  } class="cmtt-10">{⟨normal}

    -

    +

    to determine whether the \rgls-like command should behave like its \gls counterpart (⟨normal⟩) or whether it should instead use ⟨trigger code⟩. -

    This command checks if the

    This command checks if the recordcount attribute is set. If not is just does ⟨normal⟩, otherwise it tests if -



    \glsxtrrecordtriggervalue  \glsxtrrecordtriggervalue{label}

    -

    +

    is greater than the value given in the recordcount \GlsXtrTotalRecordCount{#1}%  
    }

    -

    The ⟨

    The ⟨trigger code⟩ part writes a record with the format set to trigger format⟩. Then it unsets the first use flag. Note that it doesn’t implement the post-link hook. This ensures that the record count is correct on the next run. -

    The ⟨

    The ⟨trigger format⟩ depends on the \rgls-like command used and will be one of the following: -



    \rglsformat  label}{insert}

    -

    -


    +


    \rglsplformat  label}{insert}

    -

    -


    +


    \rGlsformat  label}{insert}

    -

    -


    +


    \rGlsplformat  label}{insert}

    -

    -


    +


    \rGLSformat  label}{insert}

    -

    -


    +


    \rGLSplformat  label}{insert}

    -

    +

    These all behave much like their \cglsformat counterparts. If the entry’s regular attribute is set or if the entry doesn’t have a long form, the first or first plural is used, otherwise the long or long plural form is used. -

    You can use -


    You can use +


    \glsxtrenablerecordcount  \glsxtrenablerecordcount

    -

    +

    to redefine \gls, \glspl, \rGls, class="cmtt-10">\rGlspl, \rGLS, \rGLSpl, respectively, for convenience. -

    If you don’t want the entries that use ⟨

    If you don’t want the entries that use ⟨trigger code⟩ to appear in the glossary, you need to use the resource option trigger-type to assign them to another glossary. @@ -14760,7 +14817,7 @@ For example:  
    \printunsrtglossaries  
    \end{document}

    -

    In the above,

    In the above, stc and upa both only have one record, so they are assigned to the main one.

    -

    -

    +

    Top

    10. Miscellaneous New Commands

    -

    The

    The glossaries package provides \glsrefentry entry to cross-reference entries @@ -14787,21 +14844,21 @@ class="cmss-10">subentrycounter options. The glossaries-extra package provides a supplementary command -



    \glsxtrpageref  \glsxtrpageref{label}

    -

    +

    that works in the same way except that it uses \pageref instead of \ref. -

    You can copy an entry to another glossary using -


    You can copy an entry to another glossary using +


    \glsxtrcopytoglossary  }{glossary-type}

    -

    +

    This appends ⟨entry-label⟩ to the end of the internal list for the glossary given by ⟨ \printunsrtglossary[target=false]

    -

    -

    The

    +

    The glossaries package allows you to set preamble code for a given glossary type using \setglossarypreamble. This overrides any previous setting. With glossaries-extra (as from v1.12) you can instead append to the preamble using -



    \apptoglossarypreamble  type]{code}

    -

    +

    or prepend using -



    \pretoglossarypreamble  type]{code}

    -

    +

    -

    Top

    10.1 Entry Fields

    -

    A field may now be used to store the name of a text-block command that takes a +

    A field may now be used to store the name of a text-block command that takes a single argument. The field is given by -



    \GlsXtrFmtField  \GlsXtrFmtField

    -

    +

    The default value is useri. Note that the value must be the control sequence name without the initial backslash. -

    For example: +

    For example: @@ -14906,10 +14963,10 @@ class="cmti-10">without the initial backslash.  
       $\mtx{M}\mtxinv{M}=\glssymbol{identitymatrix}$}  
    }

    -

    -

    There are two commands provided that allow you to apply the command to an +

    +

    There are two commands provided that allow you to apply the command to an argument: -



    \glsxtrfmt  label}{text}

    -

    +

    This effectively does

    \glsxtrfmt will simply do ⟨text⟩. The default ⟨options⟩ are given by -



    \GlsXtrFmtDefaultOptions  \GlsXtrFmtDefaultOptions

    -

    +

    @@ -14958,7 +15015,7 @@ replacement text of \GlsXtrFmtDefaultOptions is prepended to the optional argument of \glslink. -

    For example: +

    For example: @@ -14971,7 +15028,7 @@ class="cmtt-10">\glslink.  
      \glssymbol{identitymatrix}  
    \]

    -

    If the default options are set to

    If the default options are set to noindex then \glsxtrfmt won’t index, but will create a hyperlink (if \renewcommand{\GlsXtrFmtDefaultOptions}{hyper=false,noindex}

    -

    -

    Note that

    +

    Note that \glsxtrfmt won’t work with PDF bookmarks. Instead you can use -



    \glsxtrentryfmt  label}{text}

    -

    +

    This uses \texorpdfstring and will simply expand to ⟨text⟩ within the PDF @@ -15009,14 +15066,14 @@ class="cmti-10">text⟩} if a control sequence name has been provided or just ⟨text⟩ otherwise. -

    The

    The glossaries package provides \glsaddstoragekey to add new keys. This command will cause an error if the key has already been defined. The glossaries-extra package provides a supplementary command that will only define the key if it doesn’t already exist: -



    \glsxtrprovidestoragekey  }{cs}

    -

    +

    If the key has already been defined, it will still provide the command given in the third argument ⟨cs⟩ (if it hasn’t already been defined). Unlike cs⟩ may be left empty if you’re happy to just use \glsfieldfetch to fetch the value of this new key. -

    You can test if a key has been provided with: -


    You can test if a key has been provided with: +


    \glsxtrifkeydefined  true}{false}

    -

    +

    This tests if ⟨key⟩ is available for use in the ⟨key⟩= list in the second argument of @@ -15058,7 +15115,7 @@ class="cmtt-10">\newglossaryentry (or the optional argument of commands l class="cmtt-10">\newabbreviation). The corresponding field may not have been set for any of the entries if no default was provided. -

    There are now commands provided to set individual fields. Note that +

    There are now commands provided to set individual fields. Note that these only change the specified field, not any related values. For example, changing the value of the textparent field). Unexpected results may occur if they are subsequently changed. -



    \GlsXtrSetField  field}{value}

    -

    +

    Sets the field given by ⟨field⟩ to ⟨value⟩ for the entry given by ⟨

    \GlsXtrSetField uses -



    \glsxtrsetfieldifexists  }{code}

    -

    +

    where ⟨label⟩ is the entry label and ⟨code⟩ is the assignment code. -

    This command just uses

    This command just uses \glsdoifexists{=warn\glsxtrsetfieldifexists to simply do ⟨code⟩ if you want to skip the existence check. Alternatively you can instead use -



    \glsxtrdeffield  replacement text}

    -

    +

    This simply uses etoolbox’s \csdef without any checks. This command isn’t robust. There is also a version that uses \csedef instead: -



    \glsxtredeffield  replacement text}

    -

    -


    +


    \gGlsXtrSetField  field}{value}

    -

    +

    As \GlsXtrSetField but globally. -



    \eGlsXtrSetField  field}{value}

    -

    +

    As \GlsXtrSetField but uses protected expansion. -



    \xGlsXtrSetField  field}{value}

    -

    +

    As \gGlsXtrSetField but uses protected expansion. -



    \GlsXtrLetField  field}{cs}

    -

    +

    Sets the field given by ⟨field⟩ to the replacement text of ⟨cs⟩ for the entry given by ⟨label⟩ (using \let). -



    \csGlsXtrLetField  }{cs name}

    -

    +

    As \GlsXtrLetField but the control sequence name is supplied instead. -



    \GlsXtrLetFieldToField  label-2}{field-2}

    -

    +

    Sets the field given by ⟨field-1⟩ for the entry given by ⟨label-1⟩ to the field given by @@ -15280,7 +15337,7 @@ class="cmti-10">code⟩} is still used, as for \GlsXtrSetField. -

    The

    The glossaries package provides \ifglshasfield to determine if a field has been @@ -15289,7 +15346,7 @@ class="cmss-10">glossaries-extra package provides a simpler version: -



    \glsxtrifhasfield  }{false}

    -

    +

    (New to v1.19.) Unlike \ifglshasfield, this version doesn’t complain if the entry (given by ⟨true⟩ part is done otherwise it does ⟨false⟩. Within ⟨true⟩ you may use -



    \glscurrentfieldvalue  \glscurrentfieldvalue

    -

    +

    to access the field value. This command includes grouping which scopes the ⟨true⟩ and ⟨false⟩ parts. The starred version -



    \glsxtrifhasfield*  }{false}

    -

    +

    omits the implicit grouping. -

    You can test if a field value equals a string using -


    You can test if a field value equals a string using +


    \GlsXtrIfFieldEqStr  } class="cmtt-10">{⟨false}

    -

    +

    If the entry exists and has the given field set to the given text then this does ⟨true⟩ otherwise it does ⟨text⟩ using etoolbox’s \ifdefstring. -

    The

    The glossaries package provides \glsfieldfetch which can be used to fetch the value of the given field and store it in a control sequence. The glossaries-extra package provides another way of accessing the field value: -



    \glsxtrusefield  entry-label}{field-label}

    -

    +

    This works in the same way as commands like \glsentrytext but the field label is specified in the first argument. Note that the ⟨glossaries manual. No error occurs if the entry or field haven’t been defined. This command is not robust. -

    There is also a version that converts the first letter to uppercase (analogous to +

    There is also a version that converts the first letter to uppercase (analogous to \Glsentrytext): -



    \Glsxtrusefield  entry-label}{field-label}

    -

    -

    If you want to use a field to store a list that can be used as an

    +

    If you want to use a field to store a list that can be used as an etoolbox internal list, you can use the following command that adds an item to the field using @@ -15418,7 +15475,7 @@ list, you can use the following command that adds an item to the field using class="cmss-10">etoolbox’s \listcsadd: -



    \glsxtrfieldlistadd  }{item}

    -

    +

    where ⟨label⟩ is the entry’s label, ⟨field⟩ is the entry’s field and ⟨\listeadd and \listxadd: -



    \glsxtrfieldlistgadd  }{item}

    -

    -


    +


    \glsxtrfieldlisteadd  }{item}

    -

    -


    +


    \glsxtrfieldlistxadd  }{item}

    -

    +

    You can then iterate over the list using: -



    \glsxtrfielddolistloop  }{field}

    -

    +

    or -



    \glsxtrfieldforlistloop  } class="cmtt-10">{⟨handler}

    -

    +

    that internally use \dolistcsloop and \forlistloop, respectively. -

    There are also commands that use

    There are also commands that use \ifinlistcs: -



    \glsxtrfieldifinlist  } class="cmtt-10">{⟨false}

    -

    +

    and \xifinlistcs -



    \glsxtrfieldxifinlist  true}{false}

    -

    -

    See the

    +

    See the etoolbox’s user manual for further details of these commands, in particular the limitations of \ifinlist. -

    When using the

    When using the record option, in addition to recording the usual location, you can also record the current value of another counter at the same time using the preamble-only command: -



    \GlsXtrRecordCounter  \GlsXtrRecordCounter{counter name}

    -

    +

    For example: @@ -15580,7 +15637,7 @@ For example: \usepackage[record]{glossaries-extra}  
    \GlsXtrRecordCounter{section}

    -

    Each time an entry is referenced with commands like

    Each time an entry is referenced with commands like \gls or \glstext, the \gls{bird} is used in section 1.2 th

    \glsxtrfieldlistgadd{bird}{record.section}{1.2}
    -

    Note that there’s no key corresponding to this new

    Note that there’s no key corresponding to this new record.section field, but its value can be accessed with \glsxtrfielduse or the list can be iterated over with \glsxtrfielddolistloop etc. -

    +

    -

    Top

    10.2 Display All Entries Without Sorting or Indexing

    -



    \printunsrtglossary  \printunsrtglossary[options]

    -

    +

    This behaves like \printnoidxglossary but never sorts the entries and always lists all the defined entries for the given glossary (and doesn’t require @@ -15662,8 +15719,8 @@ the definition of \glsgroupskip to avoid the “Incomplete \iftrue” error that may otherwise occur. -

    There’s also a starred form -


    There’s also a starred form +


    \printunsrtglossary*  options]{code}

    -

    +

    which is equivalent to

    \endgroup class="cmtt-10">\glossarypreamble, the supplied ⟨code⟩ is done before the glossary header. -

    This means you now have the option to simply list all entries on the first +

    This means you now have the option to simply list all entries on the first LATEX run without the need for a post-processor, however there will be no §9 bib2gls: Managing Reference Databases). -

    No attempt is made to gather hierarchical elements. If child entries aren’t defined +

    No attempt is made to gather hierarchical elements. If child entries aren’t defined immediately after their parent entry, they won’t be together in the glossary when using \printunsrtglossary.
    -

    +

    -

    If you have any entries with the

    If you have any entries with the see key set, you will need the glossariesrecord=only package option will automatically deal with this. -

    For example: +

    For example: @@ -15748,32 +15805,32 @@ will automatically deal with this.  
    \printunsrtglossaries  
    \end{document}

    -

    In the above, zebra will be listed before ant as it was defined first. -

    If you allow document definitions with the

    In the above, zebra will be listed before ant as it was defined first. +

    If you allow document definitions with the docdefs option, the document will require a second LATEX run if the entries are defined after \printunsrtglossary. -

    The optional argument is as for

    The optional argument is as for \printnoidxglossary (except for the sort key, which isn’t available). -

    All glossaries may be displayed in the order of their definition using: -


    All glossaries may be displayed in the order of their definition using: +


    \printunsrtglossaries  \printunsrtglossaries

    -

    +

    which is analogous to \printnoidxglossaries. This just iterates over all defined glossaries (that aren’t on the ignored list) and does \printunsrtglossary[type=⟨type⟩]. -

    To avoid complications caused by

    To avoid complications caused by tabular-like glossary styles,



    \printunsrtglossaryentryprocesshook  \printunsrtglossaryentryprocesshook class="cmtt-10">{⟨label}

    -

    +

    This hook should not display any content, but may be used to perform calculations. For example, to calculate widths. Within this hook you can use: -



    \printunsrtglossaryskipentry  \printunsrtglossaryskipentry

    -

    +

    to skip the current entry. This will prevent the entry from being added to the internal command. -

    There’s another hook immediately before the internal command containing the +

    There’s another hook immediately before the internal command containing the glossary code is performed: -



    \printunsrtglossarypredoglossary  \printunsrtglossarypredoglossary

    -

    +

    -

    The internal command uses -


    The internal command uses +


    \printunsrtglossaryhandler  \printunsrtglossaryhandler{label}

    -

    +

    to display each item in the list, where ⟨label⟩ is the current label. -

    By default the handler just does -


    By default the handler just does +


    \glsxtrunsrtdo  \glsxtrunsrtdo{label}

    -

    +

    which determines whether to use \glossentry or \subglossentry and checks the @@ -15845,10 +15902,10 @@ class="cmss-10">loclist fields for the number list. -

    You can redefine the handler if required. For example, you may want to filter +

    You can redefine the handler if required. For example, you may want to filter entries according to the category label. You can test if a label is contained in a comma-separated list of labels using: -



    \glsxtriflabelinlist  } class="cmtt-10">{⟨false}

    -

    +

    The ⟨label⟩ and ⟨label list⟩ will be fully expanded. -

    If you redefine the handler to exclude entries, you may end up with an empty +

    If you redefine the handler to exclude entries, you may end up with an empty glossary. This could cause a problem for the list-based styles.
    -

    -

    For example, if the preamble includes: +

    +

    For example, if the preamble includes: @@ -15879,7 +15936,7 @@ glossary. This could cause a problem for the list-based styles.

    \usepackage[record,style=index]{glossaries-extra}  
    \GlsXtrRecordCounter{section}
    -

    then you can print the glossary but first redefine the handler to only select entries +

    then you can print the glossary but first redefine the handler to only select entries that include the current section number in the record.section field: @@ -15893,8 +15950,8 @@ class="cmtt-10">record.section field:  
      {}%  
    }

    -

    -

    Alternatively you can use the starred form of

    +

    Alternatively you can use the starred form of \printunsrtglossary which will localise the change: @@ -15910,8 +15967,8 @@ localise the change:  
      }%  
    }

    -

    -

    If you are using the

    +

    If you are using the hyperref package and want to display the same glossary more than once, you can also add a temporary redefinition of   }%  
    }

    -

    Note that this will cause a problem if your descriptions contain commands like

    Note that this will cause a problem if your descriptions contain commands like \gls that need to link an entry that doesn’t appear in the summary. In this case, it’s a better approach to use: @@ -15961,8 +16018,8 @@ better approach to use:  
      }%  
    }

    -

    -

    If it’s a short summary at the start of a section, you might also want to suppress +

    +

    If it’s a short summary at the start of a section, you might also want to suppress the glossary header and add some vertical space afterwards: @@ -15986,9 +16043,9 @@ the glossary header and add some vertical space afterwards:  
      \appto\glossarypostamble{\glspar\medskip\glspar}%  
    }

    -

    -

    There’s a shortcut command that essentially does this: -


    +

    There’s a shortcut command that essentially does this: +


    \printunsrtglossaryunit  counter name}

    -

    +

    The above example can simply be replaced with: @@ -16008,11 +16065,11 @@ The above example can simply be replaced with:

    \printunsrtglossaryunit{section}
    -

    -

    This shortcut command is actually defined to use

    +

    This shortcut command is actually defined to use \printunsrtglossary* with -



    \printunsrtglossaryunitsetup  counter name}

    -

    +

    so if you want to just make some minor modifications you can do @@ -16032,9 +16089,9 @@ so if you want to just make some minor modifications you can do  
      \renewcommand*{\glossarysection}[2][]{\subsection*{Summary}}%  
    }

    -

    which will start the list with a subsection header with the title “Summary” +

    which will start the list with a subsection header with the title “Summary” (overriding the glossary’s title). -

    Note that this shortcut command is only available with the

    Note that this shortcut command is only available with the record (or @@ -16043,7 +16100,7 @@ href="#styopt.record">record=alsoindex) package option. -

    This temporary change in the hypertarget prefix means you need to explicitly use +

    This temporary change in the hypertarget prefix means you need to explicitly use \hyperlink to create a link to it as commands like \gls will try to link to the target @@ -16055,12 +16112,12 @@ the front or back matter) which can be the target for all glossary references an just use \printunsrtglossaryunit for a quick summary at the start of a section etc. -

    +

    -

    Top

    10.3 Standalone Definitions

    -

    It may be that you don’t want a list but would rather display entry details + id="sec:glossentry">Standalone Entry Items +

    It may be that you don’t want a list but would rather display entry details throughout the document. You can simply do \glsentryname followed by  \par\medskip  
    }

    -

    define your entries +

    define your entries @@ -16095,7 +16152,7 @@ custom command:  
      description={a relation or expression involving variables}  
    }

    -

    and then later in the text: +

    and then later in the text: @@ -16103,25 +16160,25 @@ custom command:

    \displayterm{function}
    -

    -

    However, if may be that you want to use

    +

    However, if may be that you want to use hyperref and have commands like \gls link back to the place where the term is described. Instead of using \glsentryname use -



    \glsxtrglossentry  \glsxtrglossentry{label}

    -

    +

    where ⟨label⟩ is the entry’s label. -

    This is designed to behave much like the way the name is displayed in the +

    This is designed to behave much like the way the name is displayed in the glossary. It performs the following:

    -

    otherwise it does

    +

    otherwise it does

    -

    This means that my custom command can be changed to: + + + +

    If you have used \nopostdesc or \glsxtrnopostpunc in any of your description fields, +you can use +


    \glsxtractivatenopost  \glsxtractivatenopost

    +

    +to make these commands behave as they normally do within a glossary. This needs to +be placed before

    +
    +\glossentrydesc{label}\glspostdescription +
    +
    and scoped. Note that \glsnonextpages and \glsnextpages have no effect outside +of the glossary and are not intended for use in a standalone context. +

    It’s also possible to select a different field (rather than using name): +


    \glsxtrglossentryother  \glsxtrglossentryother{header}{label}{field} +

    +

    +The ⟨field⟩ must be given using its internal field label which may not be the same as +the key used to set the field. See the key to field mappings table in the glossaries user +manual. The ⟨header⟩ argument is the code to pass to the third argument of +\glsxtrtitleorpdforheading. It may be left empty in which case the default is +determined as follows:

    +
      +
    • If \glsxtrheadfield⟩ is defined, then ⟨header⟩ is \glsxtrheadfield⟩ + {label}. +
    • +
    • Otherwise ⟨header⟩ is simply the field value.
    +

    The \glsxtrglossentryother command internally uses \glossentrynameother{label} +{field} instead of \glossentryname{label}. If you are using the glossaries-accsupp +package (through the accsupp option) then accessibility support will be provided if +there’s a corresponding command

    +
    +\glsfieldaccessdisplay{text}{label} +
    +
    (for example, \glssymbolaccessdisplay). +

    This means that my custom command can be changed to: @@ -16189,10 +16343,12 @@ class="cmss-10">glossnamefont \par\medskip  
    }

    -

    If you wanted numbered definitions, then use the package option

    If I want numbered definitions, then I can use the package options entrycounter and -remove the colon: + id="dx1-39015"> or +subentrycounter and remove the colon: @@ -16205,31 +16361,50 @@ remove the colon:  
     \par\medskip  
    }

    -

    The counter label uses a dot after the number by default but this can be changed to +

    The counter label uses a dot after the number by default but this can be changed to a colon:

    -\renewcommand*{\glsentrycounterlabel}{\theglossaryentry:\space}% +\renewcommand*{\glsentrycounterlabel}{\theglossaryentry:\space}
    -

    You can now not only use

    It’s now possible to not only use \gls to link back to the definition but also use \glsrefentry to reference the counter and \glsxtrpageref to reference the page number. -

    You can also use \glsxtrglossentry within section headings. For example: +

    If I want the description to behave more like it does in a glossary in need to make +the following modification:

    +\newcommand{\displayterm}[1]{% + 
     \par\medskip\par\noindent + 
     Definition \glsxtrglossentry{#1}.\par + 
     \begingroup + 
      \glsxtractivatenopost + 
      \glossentrydesc{#1}\glspostdescription + 
     \endgroup + 
     \par\medskip + 
    } +
    +

    (Note the grouping to localise \glsxtractivatenopost.) +

    You can also use \glsxtrglossentry within section headings. For example: + + + +

    +
    \section{\glsxtrglossentry{function}}
    -

    This will use

    This will use \glsentryname in PDF bookmarks (if \texorpdfstring is defined) and will use \@glsxtrnotinmark and \glsxtrrestoremarkhook.) -

    +

    -

    Top

    10.4 Entry Aliases

    -

    An entry can be made an alias of another entry using the

    An entry can be made an alias of another entry using the alias key. The value should be the label of the other term. There’s no check for the other’s @@ -16261,7 +16436,7 @@ defining the other entry after the aliased entry. (For example, when used with href="#glo:bib2gls">bib2gls.) -

    If an entry ⟨

    If an entry ⟨entry-1⟩ is made an alias of ⟨entry-2⟩ then:

    -

    The index suppression trigger is performed by -


    The index suppression trigger is performed by +


    \glsxtrsetaliasnoindex  \glsxtrsetaliasnoindex

    -

    +

    This is performed after the default options provided by \GlsXtrSetDefaultGlsOpts @@ -16351,49 +16526,49 @@ class="cmss-10">=only, \glsxtrsetaliasnoindex will default to do nothing. -

    Within the definition of

    Within the definition of \glsxtrsetaliasnoindex you can use -



    \glsxtrindexaliased  \glsxtrindexaliased

    -

    +

    to index ⟨entry-2⟩. -

    The index suppression command can be redefined to index the main term instead. +

    The index suppression command can be redefined to index the main term instead. For example:

    -
    +
    \renewcommand{\glsxtrsetaliasnoindex}{%  
     \glsxtrindexaliased  
     \setkeys{glslink}{noindex}%  
    }
    -

    -

    The value of the

    +

    The value of the alias field can be accessed using -



    \glsxtralias  \glsxtralias{label}

    -

    +

    -

    -

    +

    Top

    11. Supplemental Packages

    -

    The

    The glossaries bundle provides additional support packages glossaries-prefix (for @@ -16402,10 +16577,10 @@ class="cmss-10">glossaries-accsupp (for accessibility support). These packages aren’t automatically loaded.

    -

    Top

    11.1 Prefixes or Determiners

    -

    If prefixing is required, you can simply load

    If prefixing is required, you can simply load glossaries-prefix after glossaries-extra. For @@ -16414,7 +16589,7 @@ example:

    -
    +
    \documentclass{article}  
    \usepackage{glossaries-extra}  
    \usepackage{glossaries-prefix} @@ -16429,13 +16604,13 @@ example:  
    \printglossaries  
    \end{document}
    -

    -

    +

    +

    -

    Top

    11.2 Accessibility Support

    -

    The

    The glossaries-accsupp package needs to be loaded before glossaries-extra or through @@ -16447,10 +16622,10 @@ class="cmss-10">accsupp -

    +
    \usepackage[accsupp]{glossaries-extra}
    -

    If you don’t load

    If you don’t load glossaries-accsupp or you load glossaries-accsuppxxx⟩ commands described below will simply be equiv corresponding \glsentryxxx⟩ commands. -

    The following

    The following \glsaccessxxx⟩ commands add accessibility information wrapped around the corresponding \glsentryxxx⟩ commands. There is no check for existence of the entry nor do any of these commands add formatting, hyperlinks or indexing information. -



    \glsaccessname  \glsaccessname{label}

    -

    +

    This displays the value of the name field for the entry identified by ⟨label⟩. -

    If the

    If the glossaries-accsupp package isn’t loaded, this is simply defined as:

    -
    +
    \newcommand*{\glsaccessname}[1]{\glsentryname{#1}}
    -

    otherwise it’s defined as: +

    otherwise it’s defined as:

    -
    +
    \newcommand*{\glsaccessname}[1]{%  
      \glsnameaccessdisplay  
      {% @@ -16506,20 +16681,20 @@ class="cmss-10">glossaries-accsupp  {#1}%  
    }
    -

    (

    (\glsnameaccessdisplay is defined by the glossaries-accsupp package.) The first letter upper case version is: -



    \Glsaccessname  \Glsaccessname{label}

    -

    +

    Without the glossaries-accsupp package this is just defined as: @@ -16527,17 +16702,17 @@ class="cmss-10">glossaries-accsupp -

    +
    \newcommand*{\Glsaccessname}[1]{\Glsentryname{#1}}
    -

    With the

    With the glossaries-accsupp package this is defined as:

    -
    +
    \newcommand*{\Glsaccessname}[1]{%  
      \glsnameaccessdisplay  
      {% @@ -16546,112 +16721,112 @@ class="cmss-10">glossaries-accsupp  {#1}%  
    }
    -

    -

    The following commands are all defined in an analogous manner. -


    +

    The following commands are all defined in an analogous manner. +


    \glsaccesstext  \glsaccesstext{label}

    -

    +

    This displays the value of the text field. -



    \Glsaccesstext  \Glsaccesstext{label}

    -

    +

    This displays the value of the text field with the first letter converted to upper case. -



    \glsaccessplural  \glsaccessplural{label}

    -

    +

    This displays the value of the plural field. -



    \Glsaccessplural  \Glsaccessplural{label}

    -

    +

    This displays the value of the plural field with the first letter converted to upper case. -



    \glsaccessfirst  \glsaccessfirst{label}

    -

    +

    This displays the value of the first field. -



    \Glsaccessfirst  \Glsaccessfirst{label}

    -

    +

    This displays the value of the first field with the first letter converted to upper case. -



    \glsaccessfirstplural  \glsaccessfirstplural{label}

    -

    +

    This displays the value of the firstplural field. -



    \Glsaccessfirstplural  \Glsaccessfirstplural{label}

    -

    +

    This displays the value of the firstplural field with the first letter converted to upper case. -



    \glsaccesssymbol  \glsaccesssymbol{label}

    -

    +

    This displays the value of the symbol field. -



    \Glsaccesssymbol  }

    -

    +

    This displays the value of the symbol field with the first letter converted to upper case. -



    \glsaccesssymbolplural  \glsaccesssymbolplural{label}

    -

    +

    This displays the value of the symbolplural field. -



    \Glsaccesssymbolplural  \Glsaccesssymbolplural{label}

    -

    +

    This displays the value of the symbolplural field with the first letter converted to upper case. -



    \glsaccessdesc  \glsaccessdesc{label}

    -

    +

    This displays the value of the desc field. -



    \Glsaccessdesc  \Glsaccessdesc{label}

    -

    +

    This displays the value of the desc field with the first letter converted to upper case. -



    \glsaccessdescplural  \glsaccessdescplural{label}

    -

    +

    This displays the value of the descplural field. -



    \Glsaccessdescplural  \Glsaccessdescplural{label}

    -

    +

    This displays the value of the descplural field with the first letter converted to upper case. -



    \glsaccessshort  \glsaccessshort{label}

    -

    +

    This displays the value of the short field. -



    \Glsaccessshort  \Glsaccessshort{label}

    -

    +

    This displays the value of the short field with the first letter converted to upper case. -



    \glsaccessshortpl  \glsaccessshortpl{label}

    -

    +

    This displays the value of the shortplural field. -



    \Glsaccessshortpl  \Glsaccessshortpl{label}

    -

    +

    This displays the value of the shortplural field with the first letter converted to upper case. -



    \glsaccesslong  \glsaccesslong{label}

    -

    +

    This displays the value of the long field. -



    \Glsaccesslong  \Glsaccesslong{label}

    -

    +

    This displays the value of the long field with the first letter converted to upper case. -



    \glsaccesslongpl  }

    -

    +

    This displays the value of the longplural field. -



    \Glsaccesslongpl  \Glsaccesslongpl{label}

    -

    +

    This displays the value of the longplural field with the first letter converted to upper @@ -16834,11 +17009,11 @@ case.

    -

    -

    +

    Top

    12. Sample Files

    -

    The following sample files are provided with this package: +

    The following sample files are provided with this package:

    sample.tex
    sample-suppl-hyp.tex. -

    -

    +

    Top

    13. Multi-Lingual Support

    -

    There’s only one command provided by

    There’s only one command provided by glossaries-extra that you’re likely to want to change in your document and that’s \abbreviationsname\acronymname (provided by glossaries). -

    You can redefine it in the usual way. For example: +

    You can redefine it in the usual way. For example:

    -
    +
    \renewcommand*{\abbreviationsname}{List of Abbreviations}
    -

    Or using

    Or using babel or polyglossiapolyglossia -

    +
    \appto\captionsenglish{%  
     \renewcommand*{\abbreviationsname}{List of Abbreviations}%  
    }
    -

    -

    Alternatively you can use the

    +

    Alternatively you can use the title key when you print the list of abbreviations. For example: @@ -17163,24 +17338,24 @@ For example:

    -
    +
    \printabbreviations[title={List of Abbreviations}]
    -

    or +

    or

    -
    +
    \printglossary[type=abbreviations,title={List of Abbreviations}]
    -

    -

    The other fixed text commands are the diagnostic messages, which shouldn’t +

    +

    The other fixed text commands are the diagnostic messages, which shouldn’t appear in the final draft of your document. -

    The

    The glossaries-extra package has the facility to load language modules if they exist, but won’t warn if they don’t. -

    If you want to write your own language module, you just need to create a file +

    If you want to write your own language module, you just need to create a file called glossariesxtr-langtracklang package). For example, glossariesxtr-french.ldf. -

    The simplest code for this file is: +

    The simplest code for this file is:

    -
    +
    \ProvidesGlossariesExtraLang{french}[2015/12/09 v1.0]  
    \newcommand*{\glossariesxtrcaptionsfrench}{%  
     \def\abbreviationsname{Abr\'eviations}% @@ -17221,8 +17396,8 @@ class="cmtt-10">glossariesxtr-french.ldf.  
      \glossariesxtrcaptionsfrench  
    }
    -

    -

    You can adapt this for other languages by replacing all instances of the language +

    +

    You can adapt this for other languages by replacing all instances of the language identifier french and the translated text Abr\’eviations as appropriate. This EX’s path so that it can be found by class="cmss-10">glossaries-extra. You might also want to consider uploading it to CTAN so that it can be useful to others. (Please don’t send it to me. I already have more packages than I am able to maintain.) -

    If you additionally want to provide translations for the diagnostic messages used +

    If you additionally want to provide translations for the diagnostic messages used when a glossary is missing, you need to redefine the following commands: -



    \GlsXtrNoGlsWarningHead  }{file}

    -

    +

    This produces the following text in English:

    -

    This document is incomplete. The external file associated with the +

    This document is incomplete. The external file associated with the glossary ‘⟨label⟩’ (which should be called ⟨file⟩) hasn’t been created.

    -



    \GlsXtrNoGlsWarningEmptyStart  \GlsXtrNoGlsWarningEmptyStart

    -

    +

    This produces the following text in English:

    -

    This has probably happened because there are no entries defined in +

    This has probably happened because there are no entries defined in this glossary.

    -



    \GlsXtrNoGlsWarningEmptyMain  \GlsXtrNoGlsWarningEmptyMain

    -

    +

    This produces the following text in English:

    -

    If you don’t want this glossary, add

    If you don’t want this glossary, add nomain to your package option list when you load glossaries-extra.sty. For example:

    -



    \GlsXtrNoGlsWarningEmptyNotMain  \GlsXtrNoGlsWarningEmptyNotMain{label}

    -

    +

    This produces the following text in English:

    -

    Did you forget to use

    Did you forget to use type=label⟩ when you defined your entries? If you tried to load entries into this glossary with ] as the optional argument? If you did, check that the definitions in the file you loaded all had the type set to \glsdefaulttype.

    -



    \GlsXtrNoGlsWarningCheckFile  \GlsXtrNoGlsWarningCheckFile{file}

    -

    +

    This produces the following text in English:

    -

    Check the contents of the file ⟨

    Check the contents of the file ⟨file⟩. If it’s empty, that means you haven’t indexed any of your entries in this glossary (using commands like \gls or \glsadd) so this list can’t be generated. If the file isn’t empty, the document build process hasn’t been completed.

    -



    \GlsXtrNoGlsWarningMisMatch  \GlsXtrNoGlsWarningMisMatch

    -

    +

    This produces the following text in English:

    -

    You need +

    You need to either replace \makenoidxglossaries with \makeglossaries or @@ -17340,17 +17515,17 @@ class="cmtt-10">\printglossaries) class="cmtt-10">\printnoidxglossary (or \printnoidxglossaries) and then rebuild this document.

    -



    \GlsXtrNoGlsWarningNoOut  \GlsXtrNoGlsWarningNoOut{file}

    -

    +

    This produces the following text in English:

    -

    The file ⟨

    The file ⟨file⟩ doesn’t exist. This most likely means you haven’t used \makeglossaries or you have used \nofiles. If this is just a draft version of the document, you can suppress this message using the nomissingglstext package option.

    -



    \GlsXtrNoGlsWarningTail  \GlsXtrNoGlsWarningTail

    -

    +

    This produces the following text in English:

    -

    This message will be removed once the problem has been fixed.

    -


    This message will be removed once the problem has been fixed.

    +


    \GlsXtrNoGlsWarningBuildInfo  \GlsXtrNoGlsWarningBuildInfo

    -

    +

    This is advice on how to generate the glossary files. See the documented code (glossaries-extra-code.pdf) for further details. -



    \GlsXtrNoGlsWarningAutoMake  \GlsXtrNoGlsWarningAutoMake{label}

    -

    +

    This is the message produced when the automake318, 319, 320, 321, 322, 322, 323, 324, 325, 373, 374, 375, 376, 377, 377, 378, 379, 380, 422, 423
        acronym  424, 424, 425, 426, 427, 428
    class="cmss-10">general  429, 430, 431, 432, 431, 432, 433, 434, 435, 436
        index  437, 437, 438
        number  474
        glossname  475, 476
    +href="glossaries-extra-manual.html#dx1-15008" >476, 477
        glossnamefont  477, 478
    +href="glossaries-extra-manual.html#dx1-15009" >478, 479, 480
        headuc  479, 480, 481, 482
    +href="glossaries-extra-manual.html#dx1-11059" >481, 482, 483, 484
        hyperoutside  483, 484
    +href="glossaries-extra-manual.html#dx1-6017" >485, 486
        indexname  485, 486, 487, 488, 489
    +href="glossaries-extra-manual.html#dx1-15014" >487, 488, 489, 490, 491
        indexonlyfirst  490, 491, 492
    +href="glossaries-extra-manual.html#dx1-6005" >492, 493, 494
        insertdots  493, 494, 495
    +href="glossaries-extra-manual.html#dx1-18004" >495, 496, 497
        markshortwords  496, 497
    +href="glossaries-extra-manual.html#dx1-27061" >498, 499
        markwords  498, 499, 500, 501, 502, 503
    +href="glossaries-extra-manual.html#dx1-24191" >500, 501, 502, 503, 504, 505
        nohyper  504, 505, 506
    +href="glossaries-extra-manual.html#dx1-27034" >506, 507, 508
        nohyperfirst  507, 508, 509, 510, 511
    +href="glossaries-extra-manual.html#dx1-24132" >509, 510, 511, 512, 513
        noshortplural  512, 513, 514, 515, 516
    +href="glossaries-extra-manual.html#dx1-10037" >514, 515, 516, 517, 518
        pluraldiscardperiod  517, 518
    +href="glossaries-extra-manual.html#dx1-27048" >519, 520
        recordcount  519, 520, 521, 522
    +href="glossaries-extra-manual.html#dx1-35019" >521, 522, 523, 524
        regular  523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554
    +href="glossaries-extra-manual.html#dx1-8010" >525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556
        retainfirstuseperiod  555
    +href="glossaries-extra-manual.html#dx1-27050" >557
        tagging  556, 557, 558, 559
    +href="glossaries-extra-manual.html#dx1-19002" >558, 559, 560, 561
        targetcategory  560
    +href="glossaries-extra-manual.html#dx1-27119" >562
        targetname  561, 562
    +href="glossaries-extra-manual.html#dx1-27116" >563, 564
        targeturl  563, 564, 565, 566, 567
    +href="glossaries-extra-manual.html#dx1-5013" >565, 566, 567, 568, 569
        textformat  568, 569, 570
    +href="glossaries-extra-manual.html#dx1-6018" >570, 571, 572
        unitcount  571
    +href="glossaries-extra-manual.html#dx1-28031" >573
        wrgloss  572, 573
    +href="glossaries-extra-manual.html#dx1-6013" >574, 575
    \cGLS  574
    +class="cmti-10">576
    \cGLSformat  575
    +class="cmti-10">577
    \cGLSpl  576
    +class="cmti-10">578
    \cGLSplformat  577
    +class="cmti-10">579
    convertgls2bib  578
    +href="glossaries-extra-manual.html#dx1-31005" >580
    \csGlsXtrLetField  579
    +class="cmti-10">581
    \CustomAbbreviationFields  580
    +class="cmti-10">582

    D datatool-base package  581
    +href="glossaries-extra-manual.html#dx1-10" >583

    E \eglssetwidest  582
    +class="cmti-10">584
    \eGlsXtrSetField  583
    +class="cmti-10">585
    entry location  584, 585, 586
    +class="cmbx-10">586, 587, 588
    entrycounter package  587
    +href="glossaries-extra-manual.html#dx1-39015" >589
    etoolbox package  588, 589, 590, 591, 592, 593, 594
    +href="glossaries-extra-manual.html#dx1-6" >590, 591, 592, 593, 594, 595, 596

    F fancyhdr package  595
    +href="glossaries-extra-manual.html#dx1-13042" >597
    first use  596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 645, 646, 647
    +class="cmbx-10">647, 648, 649
    first use flag  648, 649, 650, 651, 652, 650, 651, 652, 653, 654, 653
    +class="cmbx-10">655
    first use text  654, 655
    +class="cmbx-10">656, 657
    fontenc package  656
    +href="glossaries-extra-manual.html#dx1-22024" >658

    G \gglssetwidest  657
    +class="cmti-10">659
    \gGlsXtrSetField  658
    +class="cmti-10">660
    glossaries package  659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669
    +href="glossaries-extra-manual.html#dx1-5031" >661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671
    glossaries-accsupp package  670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684
    +href="glossaries-extra-manual.html#dx1-4036" >672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687
    glossaries-extra package  685, 686
    +href="glossaries-extra-manual.html#dx1-5033" >688, 689
    glossaries-extra-stylemods package  687, 688, 689, 690, 691, 692, 693
    +href="glossaries-extra-manual.html#dx1-4027" >690, 691, 692, 693, 694, 695, 696
    glossaries-prefix package  694, 695, 696
    +href="glossaries-extra-manual.html#dx1-41001" >697, 698, 699
    \glossariesextrasetup  697
    +class="cmti-10">700
    glossary styles:
        altlist  698
    +href="glossaries-extra-manual.html#dx1-17022" >701
        alttree  699, 700, 701, 702, 703, 704, 705
    +href="glossaries-extra-manual.html#dx1-17032" >702, 703, 704, 705, 706, 707, 708
        bookindex  706, 707, 708, 709
    +href="glossaries-extra-manual.html#dx1-13002" >709, 710, 711, 712
        index  710
    +href="glossaries-extra-manual.html#dx1-17027" >713
        inline  711, 712
    +href="glossaries-extra-manual.html#dx1-17006" >714, 715
        list  713, 714
    +href="glossaries-extra-manual.html#dx1-17018" >716, 717
        listdotted  715
    +href="glossaries-extra-manual.html#dx1-17023" >718
        long  716
    +href="glossaries-extra-manual.html#dx1-17012" >719
        long3col  717
    +href="glossaries-extra-manual.html#dx1-17004" >720
        mcolindexgroup  718
    +href="glossaries-extra-manual.html#dx1-13003" >721
        tree  719
    +href="glossaries-extra-manual.html#dx1-17028" >722
    glossary-bookindex package  720, 721
    +href="glossaries-extra-manual.html#dx1-13001" >723, 724
    glossary-inline package  722
    +href="glossaries-extra-manual.html#dx1-17007" >725
    glossary-tree package  723, 724, 725, 726
    +href="glossaries-extra-manual.html#dx1-13035" >726, 727, 728, 729
    +\glossentrynameother  730
    \glossxtrsetpopts  727
    +class="cmti-10">731
    \glsabbrvdefaultfont  728, 732, 729
    +class="cmti-10">733
    \glsabbrvemfont  730
    +class="cmti-10">734
    \glsabbrvfont  731
    +class="cmti-10">735
    \glsabbrvhyphenfont  732
    +class="cmti-10">736
    \glsabbrvonlyfont  733
    +class="cmti-10">737
    \glsabbrvscfont  734
    +class="cmti-10">738
    \glsabbrvsmfont  735
    +class="cmti-10">739
    \glsabbrvuserfont  736, 740, 737
    +class="cmti-10">741
    \Glsaccessdesc  738
    +class="cmti-10">742
    \glsaccessdesc  739
    +class="cmti-10">743
    \Glsaccessdescplural  740
    +class="cmti-10">744
    \glsaccessdescplural  741
    +class="cmti-10">745
    \Glsaccessfirst  742
    +class="cmti-10">746
    \glsaccessfirst  743
    +class="cmti-10">747
    \Glsaccessfirstplural  744
    +class="cmti-10">748
    \glsaccessfirstplural  745
    +class="cmti-10">749
    \Glsaccesslong  746
    +class="cmti-10">750
    \glsaccesslong  747
    +class="cmti-10">751
    \Glsaccesslongpl  748
    +class="cmti-10">752
    \glsaccesslongpl  749
    +class="cmti-10">753
    \Glsaccessname  750
    +class="cmti-10">754
    \glsaccessname  751
    +class="cmti-10">755
    \Glsaccessplural  752
    -\glsaccessplural  753
    +class="cmti-10">756
    +\glsaccessplural  757
    \Glsaccessshort  754
    +class="cmti-10">758
    \glsaccessshort  755
    +class="cmti-10">759
    \Glsaccessshortpl  756
    +class="cmti-10">760
    \glsaccessshortpl  757
    +class="cmti-10">761
    \Glsaccesssymbol  758
    +class="cmti-10">762
    \glsaccesssymbol  759
    +class="cmti-10">763
    \Glsaccesssymbolplural  760
    +class="cmti-10">764
    \glsaccesssymbolplural  761
    +class="cmti-10">765
    \Glsaccesstext  762
    +class="cmti-10">766
    \glsaccesstext  763
    +class="cmti-10">767
    \glsacspace  764
    +class="cmti-10">768
    \glsacspacemax  765
    +class="cmti-10">769
    \glsadd options
        format  766
    +href="glossaries-extra-manual.html#dx1-8070" >770
        theHvalue  767, 768
    +href="glossaries-extra-manual.html#dx1-6022" >771, 772
        thevalue  769, 770, 771, 772, 773
    +href="glossaries-extra-manual.html#dx1-6021" >773, 774, 775, 776, 777
    \glscategory  774
    +class="cmti-10">778
    \glscategorylabel  775
    +class="cmti-10">779
    \glscurrententrylabel  776
    +href="glossaries-extra-manual.html#dx1-15021" >780
    \glscurrentfieldvalue  777
    +class="cmti-10">781
    \glsentrycurrcount  778
    +class="cmti-10">782
    \glsentryprevcount  779
    +class="cmti-10">783
    \glsentryprevmaxcount  780
    +class="cmti-10">784
    \glsentryprevtotalcount  781
    +class="cmti-10">785
    \glsFindWidestAnyName  782
    +class="cmti-10">786
    \glsFindWidestAnyNameLocation  783
    +class="cmti-10">787
    \glsFindWidestAnyNameSymbol  784
    +class="cmti-10">788
    \glsFindWidestAnyNameSymbolLocation  785
    +class="cmti-10">789
    \glsFindWidestLevelTwo  786
    +class="cmti-10">790
    \glsFindWidestTopLevelName  787
    +class="cmti-10">791
    \glsFindWidestUsedAnyName  788
    +class="cmti-10">792
    \glsFindWidestUsedAnyNameLocation  789
    +class="cmti-10">793
    \glsFindWidestUsedAnyNameSymbol  790
    +class="cmti-10">794
    \glsFindWidestUsedAnyNameSymbolLocation  791
    +class="cmti-10">795
    \glsFindWidestUsedLevelTwo  792
    +class="cmti-10">796
    \glsFindWidestUsedTopLevelName  793
    +class="cmti-10">797
    \glsfirstabbrvdefaultfont  794
    +class="cmti-10">798
    \glsfirstabbrvemfont  795
    +class="cmti-10">799
    \glsfirstabbrvfont  796
    +class="cmti-10">800
    \glsfirstabbrvhyphenfont  797
    +class="cmti-10">801
    \glsfirstabbrvonlyfont  798
    +class="cmti-10">802
    \glsfirstabbrvsmfont  799
    +class="cmti-10">803
    \glsfirstabbrvuserfont  800
    +class="cmti-10">804
    \glsfirstlongdefaultfont  801
    +class="cmti-10">805
    \glsfirstlongemfont  802
    -\glsfirstlongfont  803
    +class="cmti-10">806
    +\glsfirstlongfont  807
    \glsfirstlongfootnotefont  804
    +class="cmti-10">808
    \glsfirstlonghyphenfont  805
    +class="cmti-10">809
    \glsfirstlongonlyfont  806
    +class="cmti-10">810
    \glsfirstlonguserfont  807
    +class="cmti-10">811
    \Glsfmtfirst  808
    +class="cmti-10">812
    \glsfmtfirst  809
    +class="cmti-10">813
    \Glsfmtfirstpl  810
    +class="cmti-10">814
    \glsfmtfirstpl  811
    +class="cmti-10">815
    \Glsfmtfull  812
    +class="cmti-10">816
    \glsfmtfull  813
    +class="cmti-10">817
    \Glsfmtfullpl  814
    +class="cmti-10">818
    \glsfmtfullpl  815
    +class="cmti-10">819
    \Glsfmtlong  816
    +class="cmti-10">820
    \glsfmtlong  817
    +class="cmti-10">821
    \Glsfmtlongpl  818
    +class="cmti-10">822
    \glsfmtlongpl  819
    +class="cmti-10">823
    \Glsfmtname  820
    +class="cmti-10">824
    \glsfmtname  821
    +class="cmti-10">825
    \Glsfmtplural  822
    +class="cmti-10">826
    \glsfmtplural  823
    +class="cmti-10">827
    \Glsfmtshort  824
    +class="cmti-10">828
    \glsfmtshort  825
    +class="cmti-10">829
    \Glsfmtshortpl  826
    +class="cmti-10">830
    \glsfmtshortpl  827
    +class="cmti-10">831
    \Glsfmttext  828
    +class="cmti-10">832
    \glsfmttext  829
    +class="cmti-10">833
    \glsforeachwithattribute  830
    +class="cmti-10">834
    \glsgetattribute  831
    +class="cmti-10">835
    \glsgetcategoryattribute  832
    +class="cmti-10">836
    \glsgetwidestname  833
    +class="cmti-10">837
    \glsgetwidestsubname  834
    +class="cmti-10">838
    \glshasattribute  835
    +class="cmti-10">839
    \glshascategoryattribute  836
    +class="cmti-10">840
    \glshex  837
    +class="cmti-10">841
    \glsifattribute  838
    +class="cmti-10">842
    \glsifcategory  839
    +class="cmti-10">843
    \glsifcategoryattribute  840
    +class="cmti-10">844
    \glsifnotregular  841
    +class="cmti-10">845
    \glsifnotregularcategory  842
    +class="cmti-10">846
    \glsifregular  843
    +class="cmti-10">847
    \glsifregularcategory  844
    +class="cmti-10">848
    \glskeylisttok  845
    +class="cmti-10">849
    \glslabeltok  846
    +class="cmti-10">850
    \glslink options
        format  847, 848, 849, 850
    -    hyper  851, 852, 853
    +href="glossaries-extra-manual.html#dx1-6034" >851, 852, 853, 854
    +    hyper  855, 856, 857
        hyper=false  854
    +href="glossaries-extra-manual.html#dx1-26016" >858
        hyperoutside  855, 856
    +href="glossaries-extra-manual.html#dx1-6016" >859, 860
        noindex  857, 858, 859, 860, 861, 862, 863
    +href="glossaries-extra-manual.html#dx1-6001" >861, 862, 863, 864, 865, 866, 867
        theHvalue  864
    +href="glossaries-extra-manual.html#dx1-6025" >868
        thevalue  865
    +href="glossaries-extra-manual.html#dx1-6024" >869
        wrgloss  866, 867, 868, 869
    +href="glossaries-extra-manual.html#dx1-6009" >870, 871, 872, 873
    \glslinkcheckfirsthyperhook  870
    +class="cmti-10">874
    \glslistchildpostlocation  871
    +class="cmti-10">875
    \glslistchildprelocation  872
    +class="cmti-10">876
    \glslongdefaultfont  873
    +class="cmti-10">877
    \glslongemfont  874
    +class="cmti-10">878
    \glslongfont  875
    +class="cmti-10">879
    \glslongfootnotefont  876
    +class="cmti-10">880
    \glslonghyphenfont  877
    +class="cmti-10">881
    \glslongonlyfont  878
    +class="cmti-10">882
    \glslongpltok  879
    +class="cmti-10">883
    \glslongtok  880
    +class="cmti-10">884
    \glslonguserfont  881
    +class="cmti-10">885
    \glsnoidxdisplayloc  882
    +class="cmti-10">886
    \glsps  883
    +class="cmti-10">887
    \glspt  884
    +class="cmti-10">888
    \glsseeitemformat  885
    +href="glossaries-extra-manual.html#dx1-5004" >889
    \glssetattribute  886
    +class="cmti-10">890
    \glssetcategoryattribute  887
    +class="cmti-10">891
    \glssetregularcategory  888
    +class="cmti-10">892
    \glsshortpltok  889
    +class="cmti-10">893
    \glsshorttok  890
    +class="cmti-10">894
    \glstreechildprelocation  891
    +class="cmti-10">895
    \glstreeprelocation  892
    +class="cmti-10">896
    \glsuseabbrvfont  893
    +class="cmti-10">897
    \glsuselongfont  894
    +class="cmti-10">898
    \Glsxtr  895
    +class="cmti-10">899
    \glsxtr  896
    +class="cmti-10">900
    \glsxtrabbrvfootnote  897
    +class="cmti-10">901
    \glsxtrabbrvpluralsuffix  898, 902, 899
    +class="cmti-10">903
    +\glsxtractivatenopost  904
    \glsxtraddallcrossrefs  900
    +class="cmti-10">905
    \glsxtralias  901
    +class="cmti-10">906
    \glsxtrAltTreeIndent  902
    +class="cmti-10">907
    \glsxtralttreeInit  903
    +class="cmti-10">908
    \glsxtralttreeSubSymbolDescLocation  904
    +class="cmti-10">909
    \glsxtralttreeSymbolDescLocation  905
    +class="cmti-10">910
    \glsxtrautoindex  906
    +class="cmti-10">911
    \glsxtrautoindexassignsort  907
    +class="cmti-10">912
    \glsxtrautoindexentry  908
    +class="cmti-10">913
    + + + \glsxtrbookindexatendgroup  909
    +class="cmti-10">914
    \glsxtrbookindexbetween  910
    - - - +class="cmti-10">915
    \glsxtrbookindexbookmark  911
    +class="cmti-10">916
    \glsxtrbookindexcols  912
    +class="cmti-10">917
    \glsxtrbookindexcolspread  913
    +class="cmti-10">918
    \glsxtrbookindexfirstmark  914
    +class="cmti-10">919
    \glsxtrbookindexfirstmarkfmt  915
    +class="cmti-10">920
    \glsxtrbookindexformatheader  916
    +class="cmti-10">921
    \glsxtrbookindexlastmark  917
    +class="cmti-10">922
    \glsxtrbookindexlastmarkfmt  918
    +class="cmti-10">923
    \glsxtrbookindexmarkentry  919
    +class="cmti-10">924
    \glsxtrbookindexname  920
    +class="cmti-10">925
    \glsxtrbookindexparentchildsep  921
    +class="cmti-10">926
    \glsxtrbookindexparentsubchildsep  922
    +class="cmti-10">927
    \glsxtrbookindexprelocation  923
    +class="cmti-10">928
    \glsxtrbookindexsubatendgroup  924
    +class="cmti-10">929
    \glsxtrbookindexsubbetween  925
    +class="cmti-10">930
    \glsxtrbookindexsubname  926
    +class="cmti-10">931
    \glsxtrbookindexsubprelocation  927
    +class="cmti-10">932
    \glsxtrbookindexsubsubatendgroup  928
    +class="cmti-10">933
    \glsxtrbookindexsubsubbetween  929
    +class="cmti-10">934
    \glsxtrchecknohyperfirst  930
    +class="cmti-10">935
    \glsxtrcopytoglossary  931
    +class="cmti-10">936
    \glsxtrdeffield  932
    +class="cmti-10">937
    \glsxtrdetoklocation  933
    +class="cmti-10">938
    \glsxtrdisplayendloc  934
    +class="cmti-10">939
    \glsxtrdisplayendlochook  935
    +class="cmti-10">940
    \glsxtrdisplaysingleloc  936
    +class="cmti-10">941
    \glsxtrdisplaystartloc  937
    +class="cmti-10">942
    \glsxtrdoautoindexname  938
    +class="cmti-10">943
    \glsxtrdowrglossaryhook  939
    +class="cmti-10">944
    \glsxtredeffield  940
    +class="cmti-10">945
    \glsxtremsuffix  941
    +class="cmti-10">946
    \GlsXtrEnableEntryCounting  942
    +class="cmti-10">947
    \GlsXtrEnableEntryUnitCounting  943
    +class="cmti-10">948
    \GlsXtrEnableIndexFormatOverride  944
    +class="cmti-10">949
    \GlsXtrEnableInitialTagging  945
    +class="cmti-10">950
    \GlsXtrEnableOnTheFly  946
    +class="cmti-10">951
    \GlsXtrEnablePreLocationTag  947
    +class="cmti-10">952
    \glsxtrenablerecordcount  948
    +class="cmti-10">953
    \glsxtrentryfmt  949
    +class="cmti-10">954
    \glsxtrfielddolistloop  950
    +class="cmti-10">955
    \glsxtrfieldforlistloop  951
    +class="cmti-10">956
    \glsxtrfieldifinlist  952
    +class="cmti-10">957
    \glsxtrfieldlistadd  953
    +class="cmti-10">958
    \glsxtrfieldlisteadd  954
    +class="cmti-10">959
    + + + \glsxtrfieldlistgadd  955
    +class="cmti-10">960
    \glsxtrfieldlistxadd  956
    - - - +class="cmti-10">961
    \glsxtrfieldtitlecasecs  957
    +class="cmti-10">962
    \glsxtrfieldxifinlist  958
    +class="cmti-10">963
    \glsxtrfmt  959
    +class="cmti-10">964
    \GlsXtrFmtDefaultOptions  960
    +class="cmti-10">965
    \GlsXtrFmtField  961
    +class="cmti-10">966
    \GlsXtrFormatLocationList  962
    +class="cmti-10">967
    \GLSxtrfull  963
    +class="cmti-10">968
    \Glsxtrfull  964
    +class="cmti-10">969
    \glsxtrfull  965
    +class="cmti-10">970
    \Glsxtrfullformat  966
    +class="cmti-10">971
    \glsxtrfullformat  967
    +class="cmti-10">972
    \GLSxtrfullpl  968
    +class="cmti-10">973
    \Glsxtrfullpl  969
    +class="cmti-10">974
    \glsxtrfullpl  970
    +class="cmti-10">975
    \Glsxtrfullplformat  971
    +class="cmti-10">976
    \glsxtrfullplformat  972
    +class="cmti-10">977
    \glsxtrfullsep  973
    +class="cmti-10">978
    \glsxtrglossentry  974
    +class="cmti-10">979
    +\glsxtrglossentryother  980
    \glsxtrhyphensuffix  975
    +class="cmti-10">981
    \glsxtrifcounttrigger  976
    +class="cmti-10">982
    \GlsXtrIfFieldEqStr  977
    +class="cmti-10">983
    \glsxtrifhasfield  978
    +class="cmti-10">984
    \glsxtrifhasfield*  979
    +class="cmti-10">985
    \glsxtrifkeydefined  980
    +class="cmti-10">986
    \glsxtriflabelinlist  981
    +class="cmti-10">987
    \glsxtrifrecordtrigger  982
    +class="cmti-10">988
    \glsxtrifwasfirstuse  983
    +class="cmti-10">989
    \glsxtrindexaliased  984
    +class="cmti-10">990
    \glsxtrindexseealso  985
    +class="cmti-10">991
    \glsxtrinitwrgloss  986
    +class="cmti-10">992
    \Glsxtrinlinefullformat  987
    +class="cmti-10">993
    \glsxtrinlinefullformat  988
    +class="cmti-10">994
    \Glsxtrinlinefullplformat  989
    +class="cmti-10">995
    \glsxtrinlinefullplformat  990
    +class="cmti-10">996
    \glsxtrinsertinsidetrue  991
    +class="cmti-10">997
    \GlsXtrLetField  992
    +class="cmti-10">998
    \GlsXtrLetFieldToField  993
    +class="cmti-10">999
    \GlsXtrLoadResources  994
    +class="cmti-10">1000
    \GlsXtrLocationRecordCount  995
    +class="cmti-10">1001
    \glsxtrlocrangefmt  996
    +class="cmti-10">1002
    \Glsxtrlong  997, 1003, 998
    +class="cmti-10">1004
    \glsxtrlong  999
    +class="cmti-10">1005
    \glsxtrlonghyphen  1000
    +class="cmti-10">1006
    + + + \glsxtrlonghyphenshort  1001
    +class="cmti-10">1007
    \GLSxtrlongpl  1002
    +class="cmti-10">1008
    \Glsxtrlongpl  1003
    - - - +class="cmti-10">1009
    \glsxtrlongpl  1004
    +class="cmti-10">1010
    \glsxtrlongshortdescsort  1005
    +class="cmti-10">1011
    \glsxtrnewgls  1006
    +class="cmti-10">1012
    \glsxtrnewGLSlike  1007
    +class="cmti-10">1013
    \glsxtrnewglslike  1008
    +class="cmti-10">1014
    \glsxtrnewnumber  1009
    +class="cmti-10">1015
    \glsxtrnewrgls  1010
    +class="cmti-10">1016
    \glsxtrnewrGLSlike  1011
    +class="cmti-10">1017
    \glsxtrnewrglslike  1012
    +class="cmti-10">1018
    \glsxtrnewsymbol  1013
    +class="cmti-10">1019
    \GlsXtrNoGlsWarningAutoMake  1014
    +class="cmti-10">1020
    \GlsXtrNoGlsWarningBuildInfo  1015
    +class="cmti-10">1021
    \GlsXtrNoGlsWarningCheckFile  1016
    +class="cmti-10">1022
    \GlsXtrNoGlsWarningEmptyMain  1017
    +class="cmti-10">1023
    \GlsXtrNoGlsWarningEmptyNotMain  1018
    +class="cmti-10">1024
    \GlsXtrNoGlsWarningEmptyStart  1019
    +class="cmti-10">1025
    \GlsXtrNoGlsWarningHead  1020
    +class="cmti-10">1026
    \GlsXtrNoGlsWarningMisMatch  1021
    +class="cmti-10">1027
    \GlsXtrNoGlsWarningNoOut  1022
    +class="cmti-10">1028
    \GlsXtrNoGlsWarningTail  1023
    +class="cmti-10">1029
    +\glsxtrnopostpunc  1030
    \glsxtronlysuffix  1024
    +class="cmti-10">1031
    \glsxtrorglong  1025
    +class="cmti-10">1032
    \glsxtrorgshort  1026
    +class="cmti-10">1033
    \Glsxtrp  1027, 1034, 1028
    +class="cmti-10">1035
    \glsxtrp  1029
    +class="cmti-10">1036
    \glsxtrpageref  1030
    +class="cmti-10">1037
    \glsxtrparen  1031
    +class="cmti-10">1038
    \Glsxtrpl  1032
    +class="cmti-10">1039
    \glsxtrpl  1033
    +class="cmti-10">1040
    \glsxtrpostdescription  1034
    +href="glossaries-extra-manual.html#dx1-15017" >1041
    \glsxtrposthyphenlong  1035
    +class="cmti-10">1042
    \glsxtrposthyphenshort  1036
    +class="cmti-10">1043
    \glsxtrpostlink  1037
    +class="cmti-10">1044
    \glsxtrpostlinkAddDescOnFirstUse  1038
    +class="cmti-10">1045
    \glsxtrpostlinkAddSymbolOnFirstUse  1039
    +class="cmti-10">1046
    \glsxtrpostlinkendsentence  1040
    +class="cmti-10">1047
    \glsxtrpostlinkhook  1041
    +class="cmti-10">1048
    \glsxtrpostlongdescription  1042
    +href="glossaries-extra-manual.html#dx1-5030" >1049
    \glsxtrpostnamehook  1043
    +href="glossaries-extra-manual.html#dx1-15013" >1050
    \GlsXtrPostNewAbbreviation  1044
    +class="cmti-10">1051
    \glsxtrprelocation  1045, 1052, 1046
    +class="cmti-10">1053
    \glsxtrprovidestoragekey  1047
    +class="cmti-10">1054
    + + + \GlsXtrRecordCount  1048
    +class="cmti-10">1055
    \GlsXtrRecordCounter  1049
    +class="cmti-10">1056
    \glsxtrrecordtriggervalue  1050
    +class="cmti-10">1057
    \glsxtrregularfont  1051
    - - - +class="cmti-10">1058
    \glsxtrresourcefile  1052
    +class="cmti-10">1059
    \glsxtrresourceinit  1053
    +class="cmti-10">1060
    \glsxtrRevertMarks  1054
    +class="cmti-10">1061
    \glsxtrscsuffix  1055
    +class="cmti-10">1062
    \glsxtrseealsolabels  1056
    +class="cmti-10">1063
    \glsxtrseelist  1057
    +class="cmti-10">1064
    \GlsXtrSetActualChar  1058
    +class="cmti-10">1065
    \glsxtrsetaliasnoindex  1059
    +class="cmti-10">1066
    \GlsXtrSetAltModifier  1060
    +class="cmti-10">1067
    \glsxtrsetcategory  1061
    +class="cmti-10">1068
    \glsxtrsetcategoryforall  1062
    +class="cmti-10">1069
    \GlsXtrSetDefaultGlsOpts  1063
    +class="cmti-10">1070
    \GlsXtrSetEncapChar  1064
    +class="cmti-10">1071
    \GlsXtrSetEscChar  1065
    +class="cmti-10">1072
    \GlsXtrSetField  1066
    +class="cmti-10">1073
    \glsxtrsetfieldifexists  1067
    +class="cmti-10">1074
    \glsxtrsetgrouptitle  1068
    +class="cmti-10">1075
    \GlsXtrSetLevelChar  1069
    +class="cmti-10">1076
    \glsxtrsetpopts  1070
    +class="cmti-10">1077
    \GlsXtrSetRecordCountAttribute  1071
    +class="cmti-10">1078
    \Glsxtrshort  1072, 1079, 1073
    +class="cmti-10">1080
    \glsxtrshort  1074
    +class="cmti-10">1081
    \glsxtrshorthyphenlong  1075
    +class="cmti-10">1082
    \GLSxtrshortpl  1076
    +class="cmti-10">1083
    \Glsxtrshortpl  1077
    +class="cmti-10">1084
    \glsxtrshortpl  1078
    +class="cmti-10">1085
    \glsxtrsmsuffix  1079
    +class="cmti-10">1086
    \Glsxtrsubsequentfmt  1080
    +class="cmti-10">1087
    \glsxtrsubsequentfmt  1081
    +class="cmti-10">1088
    \Glsxtrsubsequentplfmt  1082
    +class="cmti-10">1089
    \glsxtrsubsequentplfmt  1083
    +class="cmti-10">1090
    \glsxtrtagfont  1084
    +class="cmti-10">1091
    \GlsXtrTotalRecordCount  1085
    +class="cmti-10">1092
    \glsxtrunsrtdo  1086
    +class="cmti-10">1093
    \GlsXtrUseAbbrStyleFmts  1087
    +class="cmti-10">1094
    \GlsXtrUseAbbrStyleSetup  1088
    +class="cmti-10">1095
    \Glsxtrusefield  1089
    +class="cmti-10">1096
    \glsxtrusefield  1090
    +class="cmti-10">1097
    \glsxtruserfield  1091
    +class="cmti-10">1098
    \glsxtruserparen  1092
    +class="cmti-10">1099
    \glsxtrusersuffix  1093, 1100, 1094
    +class="cmti-10">1101
    \glsxtrusesee  1095
    +class="cmti-10">1102
    + + + \glsxtruseseealso  1096
    +class="cmti-10">1103
    \glsxtruseseeformat  1097, 1104, 1098
    +class="cmti-10">1105
    \GlsXtrWarnDeprecatedAbbrStyle  1099
    +class="cmti-10">1106
    \GlsXtrWarning  1100
    - - - +class="cmti-10">1107
    \glsxtrword  1101
    +class="cmti-10">1108
    \glsxtrwordsep  1102
    +class="cmti-10">1109
    \glsxtrwrglossmark  1103
    +class="cmti-10">1110

    H hyperref package  1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123
    +href="glossaries-extra-manual.html#dx1-6033" >1111, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130

    I \ifglsxtrinitwrglossbefore  1124
    +class="cmti-10">1131
    inputenc package  1125
    +href="glossaries-extra-manual.html#dx1-33018" >1132

    L link-text  1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1144
    +class="cmbx-10">1151
    location list  1145, 1146, 1147, 1148, 1152, 1153, 1154, 1155, 1149
    +class="cmbx-10">1156
    \longnewglossaryentry  1150
    +href="glossaries-extra-manual.html#dx1-5028" >1157

    M makeglossaries  1151, 1152, 1153, 1154, 1158, 1159, 1160, 1161, 1155
    +class="cmbx-10">1162
    \makeglossaries  1156
    +href="glossaries-extra-manual.html#dx1-5045" >1163
    makeglossaries-lite  1157, 1164, 1158
    +class="cmbx-10">1165
    makeglossaries-lite  1159, 1166, 1160
    +class="cmbx-10">1167
    makeindex  1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1173
    +class="cmbx-10">1180
    makeindex  1174, 1175, 1176, 1177
    +href="glossaries-extra-manual.html#dx1-6028" >1181, 1182, 1183, 1184
    memoir class  1178
    +href="glossaries-extra-manual.html#dx1-3021" >1185
    mfirstuc package  1179, 1180, 1181
    +href="glossaries-extra-manual.html#dx1-5" >1186, 1187, 1188

    N \newabbreviation  1182
    +class="cmti-10">1189
    \newabbreviationstyle  1183
    +class="cmti-10">1190
    \newacronym  1184
    +class="cmti-10">1191
    \newglossaryentry options
        alias  1185, 1186, 1187, 1188, 1189, 1190
    +href="glossaries-extra-manual.html#dx1-5020" >1192, 1193, 1194, 1195, 1196, 1197
        category  1191, 1192, 1193, 1194, 1195, 1196
    +href="glossaries-extra-manual.html#dx1-5019" >1198, 1199, 1200, 1201, 1202, 1203
        desc  1197, 1198
    +href="glossaries-extra-manual.html#dx1-43038" >1204, 1205
        descplural  1199, 1200
    +href="glossaries-extra-manual.html#dx1-43042" >1206, 1207
        description  1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219
    +href="glossaries-extra-manual.html#dx1-5002" >1208, 1209, 1210, 1211, 1212, 1213, 1214, 1215, 1216, 1217, 1218, 1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227
    + + +     descriptionplural  1220, 1221, 1222, 1223
    +href="glossaries-extra-manual.html#dx1-5029" >1228, 1229, 1230, 1231
        first  1224, 1225, 1226, 1227, 1228, 1229, 1230, 1231, 1232, 1233, 1234, 1235, 1236
    +href="glossaries-extra-manual.html#dx1-8013" >1232, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244
        firstplural  1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246
    +href="glossaries-extra-manual.html#dx1-8014" >1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254
        location  1247, 1248
    - - - +href="glossaries-extra-manual.html#dx1-13016" >1255, 1256
        loclist  1249
    +href="glossaries-extra-manual.html#dx1-38025" >1257
        long  1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258
    +href="glossaries-extra-manual.html#dx1-10026" >1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266
        longplural  1259, 1260, 1261, 1262, 1263, 1264
    +href="glossaries-extra-manual.html#dx1-10010" >1267, 1268, 1269, 1270, 1271, 1272
        name  1265, 1266, 1267, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293
    +href="glossaries-extra-manual.html#dx1-5006" >1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304
        parent  1294, 1295, 1296
    +href="glossaries-extra-manual.html#dx1-17050" >1305, 1306, 1307
        plural  1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 1305, 1306, 1307, 1308, 1309
    +href="glossaries-extra-manual.html#dx1-8017" >1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320
        see  1310, 1311, 1312, 1313, 1314, 1315, 1316, 1317, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336
    +href="glossaries-extra-manual.html#dx1-4054" >1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347
        seealso  1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346
    +href="glossaries-extra-manual.html#dx1-4055" >1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357
        short  1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360
    +href="glossaries-extra-manual.html#dx1-8011" >1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371
        shortplural  1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375
    +href="glossaries-extra-manual.html#dx1-10011" >1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386
        sort  1376, 1377, 1378, 1379, 1380, 1381, 1382, 1383, 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392
    +href="glossaries-extra-manual.html#dx1-4124" >1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403
        symbol  1393, 1394, 1395
    +href="glossaries-extra-manual.html#dx1-43030" >1404, 1405, 1406
        symbolplural  1396, 1397
    +href="glossaries-extra-manual.html#dx1-43034" >1407, 1408
        text  1398, 1399, 1400, 1401, 1402, 1403, 1404, 1405, 1406, 1407, 1408, 1409, 1410
    +href="glossaries-extra-manual.html#dx1-5008" >1409, 1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419, 1420, 1421
        type  1411, 1412
    +href="glossaries-extra-manual.html#dx1-12046" >1422, 1423
        user1  1413, 1414, 1415
    +href="glossaries-extra-manual.html#dx1-22080" >1424, 1425, 1426
    number list  1416, 1417, 1418, 1419, 1420, 1421, 1422, 1423, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1427, 1428, 1429, 1430, 1431, 1432, 1433, 1434, 1435, 1436, 1437, 1438, 1439, 1440, 1441, 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1451, 1452, 1453, 1454, 1444
    +class="cmbx-10">1455

    P package options:
        abbreviations  1445, 1446, 1447, 1448, 1449
    +href="glossaries-extra-manual.html#dx1-4136" >1456, 1457, 1458, 1459, 1460
        accsupp  1450, 1451, 1452
    +href="glossaries-extra-manual.html#dx1-4035" >1461, 1462, 1463, 1464
        acronym  1453
    +href="glossaries-extra-manual.html#dx1-4144" >1465
        acronymlists  1454
    +href="glossaries-extra-manual.html#dx1-4148" >1466
        automake  1455, 1456
    +href="glossaries-extra-manual.html#dx1-5053" >1467, 1468
        autoseeindex  1457, 1458
    +href="glossaries-extra-manual.html#dx1-4064" >1469, 1470
            false  1459, 1460
    +href="glossaries-extra-manual.html#dx1-4056" >1471, 1472
        debug  1461
    +href="glossaries-extra-manual.html#dx1-4002" >1473
            all  1462, 1463
    +href="glossaries-extra-manual.html#dx1-4005" >1474, 1475
            showtargets  1464, 1465
    +href="glossaries-extra-manual.html#dx1-4003" >1476, 1477
            showwrgloss  1466, 1467, 1468
    +href="glossaries-extra-manual.html#dx1-4004" >1478, 1479, 1480
            true  1469
    +href="glossaries-extra-manual.html#dx1-4007" >1481
        docdef  1470, 1471, 1472, 1473
    +href="glossaries-extra-manual.html#dx1-4104" >1482, 1483, 1484, 1485
            restricted  1474, 1475
    +href="glossaries-extra-manual.html#dx1-4117" >1486, 1487
            true  1476, 1477
    +href="glossaries-extra-manual.html#dx1-4132" >1488, 1489
        docdefs  1478, 1479, 1480
    +href="glossaries-extra-manual.html#dx1-30003" >1490, 1491, 1492
            true  1481
    +href="glossaries-extra-manual.html#dx1-4116" >1493
        entrycounter  1482, 1483
    +href="glossaries-extra-manual.html#dx1-36002" >1494, 1495
    + + +     hyperfirst
            false  1484
    +href="glossaries-extra-manual.html#dx1-27030" >1496
        index  1485, 1486
    +href="glossaries-extra-manual.html#dx1-5042" >1497, 1498
        indexcrossrefs  1487, 1488, 1489, 1490
    - - - +href="glossaries-extra-manual.html#dx1-4053" >1499, 1500, 1501, 1502
            false  1491
    +href="glossaries-extra-manual.html#dx1-4063" >1503
        indexonlyfirst  1492, 1493, 1494, 1495
    +href="glossaries-extra-manual.html#dx1-6002" >1504, 1505, 1506, 1507
        nogroupskip  1496
    +href="glossaries-extra-manual.html#dx1-17014" >1508
        nomain  1497
    +href="glossaries-extra-manual.html#dx1-3032" >1509
        nomissingglstext  1498
    +href="glossaries-extra-manual.html#dx1-4135" >1510
        nonumberlist  1499, 1500, 1501, 1502
    +href="glossaries-extra-manual.html#dx1-7026" >1511, 1512, 1513, 1514
        nopostdot  1503, 1504, 1505, 1506
    +href="glossaries-extra-manual.html#dx1-4023" >1515, 1516, 1517, 1518
            false  1507, 1508, 1509
    +href="glossaries-extra-manual.html#dx1-3004" >1519, 1520, 1521
            true  1510
    +href="glossaries-extra-manual.html#dx1-3003" >1522
        noredefwarn
            false  1511
    +href="glossaries-extra-manual.html#dx1-3009" >1523
            true  1512
    +href="glossaries-extra-manual.html#dx1-3006" >1524
        notree  1513
    +href="glossaries-extra-manual.html#dx1-17034" >1525
        numbers  1514, 1515, 1516
    +href="glossaries-extra-manual.html#dx1-4152" >1526, 1527, 1528
        postdot  1517, 1518, 1519
    +href="glossaries-extra-manual.html#dx1-3005" >1529, 1530, 1531
        postpunc  1520, 1521, 1522
    +href="glossaries-extra-manual.html#dx1-4019" >1532, 1533, 1534
            comma  1523
    +href="glossaries-extra-manual.html#dx1-4020" >1535
            dot  1524
    +href="glossaries-extra-manual.html#dx1-4021" >1536
            none  1525
    +href="glossaries-extra-manual.html#dx1-4022" >1537
        record  1526, 1527, 1528, 1529, 1530, 1531
    +href="glossaries-extra-manual.html#dx1-4062" >1538, 1539, 1540, 1541, 1542, 1543
            alsoindex  1532, 1533, 1534, 1535, 1536, 1537
    +href="glossaries-extra-manual.html#dx1-4009" >1544, 1545, 1546, 1547, 1548, 1549
            off  1538, 1539
    +href="glossaries-extra-manual.html#dx1-5048" >1550, 1551
            only  1540, 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548
    +href="glossaries-extra-manual.html#dx1-4067" >1552, 1553, 1554, 1555, 1556, 1557, 1558, 1559, 1560
        section
            chapter  1549
    +href="glossaries-extra-manual.html#dx1-13033" >1561
        seeautonumberlist  1550
    +href="glossaries-extra-manual.html#dx1-7027" >1562
        seenoindex  1551
    +href="glossaries-extra-manual.html#dx1-7016" >1563
            ignore  1552, 1553
    +href="glossaries-extra-manual.html#dx1-7018" >1564, 1565
            warn  1554
    +href="glossaries-extra-manual.html#dx1-38012" >1566
        shortcuts  1555, 1556
    +href="glossaries-extra-manual.html#dx1-4154" >1567, 1568
            abbr  1557, 1558
    +href="glossaries-extra-manual.html#dx1-4159" >1569, 1570
            abbreviation  1559, 1560
    +href="glossaries-extra-manual.html#dx1-21001" >1571, 1572
            abbreviations  1561
    +href="glossaries-extra-manual.html#dx1-4158" >1573
            ac  1562, 1563, 1564, 1565, 1566
    +href="glossaries-extra-manual.html#dx1-4157" >1574, 1575, 1576, 1577, 1578
            acro  1567
    +href="glossaries-extra-manual.html#dx1-4156" >1579
            acronyms  1568
    +href="glossaries-extra-manual.html#dx1-4155" >1580
            all  1569
    +href="glossaries-extra-manual.html#dx1-4169" >1581
            false  1570
    +href="glossaries-extra-manual.html#dx1-4174" >1582
            none  1571
    +href="glossaries-extra-manual.html#dx1-4173" >1583
            other  1572, 1573
    +href="glossaries-extra-manual.html#dx1-4160" >1584, 1585
            true  1574
    +href="glossaries-extra-manual.html#dx1-4170" >1586
        sort
    + + +         none  1575, 1576
    +href="glossaries-extra-manual.html#dx1-4089" >1587, 1588
        stylemods  1577, 1578, 1579, 1580, 1581
    +href="glossaries-extra-manual.html#dx1-4044" >1589, 1590, 1591, 1592, 1593
            all  1582
    +href="glossaries-extra-manual.html#dx1-4047" >1594
            default  1583
    - - - +href="glossaries-extra-manual.html#dx1-4046" >1595
        subentrycounter  1584, 1585
    +href="glossaries-extra-manual.html#dx1-36003" >1596, 1597
        symbols  1586, 1587, 1588
    +href="glossaries-extra-manual.html#dx1-4149" >1598, 1599, 1600
        toc
            false  1589
    +href="glossaries-extra-manual.html#dx1-3002" >1601
            true  1590
    +href="glossaries-extra-manual.html#dx1-3001" >1602
        translate
            babel  1591
    +href="glossaries-extra-manual.html#dx1-3011" >1603
            true  1592
    +href="glossaries-extra-manual.html#dx1-3013" >1604
        undefaction  1593, 1594
    +href="glossaries-extra-manual.html#dx1-4048" >1605, 1606
            error  1595, 1596
    +href="glossaries-extra-manual.html#dx1-4049" >1607, 1608
            warn  1597, 1598, 1599, 1600, 1601
    +href="glossaries-extra-manual.html#dx1-4050" >1609, 1610, 1611, 1612, 1613
        xindy  1602
    +href="glossaries-extra-manual.html#dx1-7046" >1614
    page (counter)  1603, 1604
    +href="glossaries-extra-manual.html#dx1-28028" >1615, 1616
    polyglossia package  1605
    +href="glossaries-extra-manual.html#dx1-45005" >1617
    \pretoglossarypreamble  1606
    +class="cmti-10">1618
    \printabbreviations  1607
    +class="cmti-10">1619
    \printglossary options
        nogroupskip  1608
    +href="glossaries-extra-manual.html#dx1-17015" >1620
        target  1609, 1610
    +href="glossaries-extra-manual.html#dx1-5017" >1621, 1622
        targetnameprefix  1611
    +href="glossaries-extra-manual.html#dx1-5018" >1623
        title  1612
    +href="glossaries-extra-manual.html#dx1-45006" >1624
    \printnoidxglossary options
        sort  1613
    +href="glossaries-extra-manual.html#dx1-38015" >1625
    \printunsrtglossaries  1614
    +class="cmti-10">1626
    \printunsrtglossary  1615
    +class="cmti-10">1627
    \printunsrtglossary*  1616
    +class="cmti-10">1628
    \printunsrtglossaryentryprocesshook  1617
    +class="cmti-10">1629
    \printunsrtglossaryhandler  1618
    +class="cmti-10">1630
    \printunsrtglossarypredoglossary  1619
    +class="cmti-10">1631
    \printunsrtglossaryskipentry  1620
    +class="cmti-10">1632
    \printunsrtglossaryunit  1621
    +class="cmti-10">1633
    \printunsrtglossaryunitsetup  1622
    +class="cmti-10">1634
    \provideignoredglossary  1623
    +href="glossaries-extra-manual.html#dx1-5014" >1635

    R relsizes package  1624
    +href="glossaries-extra-manual.html#dx1-22048" >1636
    \RestoreAcronyms  1625
    +class="cmti-10">1637
    \rGLS  1626
    +class="cmti-10">1638
    \rGls  1627
    +class="cmti-10">1639
    \rgls  1628
    +class="cmti-10">1640
    \rGLSformat  1629
    +class="cmti-10">1641
    + + + \rGlsformat  1630
    +class="cmti-10">1642
    \rglsformat  1631
    +class="cmti-10">1643
    \rGLSpl  1632
    +class="cmti-10">1644
    \rGlspl  1633
    - - - +class="cmti-10">1645
    \rglspl  1634
    +class="cmti-10">1646
    \rGLSplformat  1635
    +class="cmti-10">1647
    \rGlsplformat  1636
    +class="cmti-10">1648
    \rglsplformat  1637
    +class="cmti-10">1649

    S \setabbreviationstyle  1638
    +class="cmti-10">1650
    slantsc package  1639
    +href="glossaries-extra-manual.html#dx1-26020" >1651
    style package  1640
    +href="glossaries-extra-manual.html#dx1-13005" >1652
    +subentrycounter package  1653

    T textcase package  1641
    +href="glossaries-extra-manual.html#dx1-8" >1654
    tracklang package  1642, 1643, 1644
    +href="glossaries-extra-manual.html#dx1-4" >1655, 1656, 1657
    translator package  1645
    +href="glossaries-extra-manual.html#dx1-3012" >1658

    X xfor package  1646
    +href="glossaries-extra-manual.html#dx1-9" >1659
    \xglssetwidest  1647
    +class="cmti-10">1660
    \xGlsXtrSetField  1648
    +class="cmti-10">1661
    xindy  1649, 1650, 1651, 1652, 1653, 1654, 1655, 1656, 1657, 1658, 1662, 1663, 1664, 1665, 1666, 1667, 1668, 1669, 1670, 1671, 1659
    +class="cmbx-10">1672
    xindy  1660
    +href="glossaries-extra-manual.html#dx1-6032" >1673
    xkeyval package  1661
    +href="glossaries-extra-manual.html#dx1-7" >1674

    glossaries to incorporate new features, but a few new minor features slipped in with some bug fixes in v4.21.

    -

    2.1The descriptionplural key is a throwback to the base package’s original acronym mechanism before the introduction of the long and short keys, where the long form was stored in the description + id="dx1-5039"> field and the short form was stored in the symbol field.

    -

    3.1For compatibility with earlier versions, \glsabbrvscfont \glsxtrscfont is now deprecated. Likewise for similar commands.

    -

    9.1Version 1.11 only allowed one use of \GlsXtrLoadResources per document.

    -

    9.2v1.08 assumed filename#1={\protect\ttfamily#1}|main}} \DeleteShortVerb{\|} \MakeShortVerb{"} - \title{glossaries-extra.sty v1.21: + \title{glossaries-extra.sty v1.22: an extension to the glossaries package} \author{Nicola L.C. Talbot\\[10pt] Dickimaw Books\\ \url{http://www.dickimaw-books.com/}} - \date{2017-11-03} + \date{2017-11-08} \maketitle \begin{abstract} @@ -975,6 +975,21 @@ after \ics{makenoidxglossaries}. \chapter{Modifications to Existing Commands and Styles} \label{sec:modifications} +The \styfmt{glossaries} package provides \ics{nopostdesc} +which may be used in the \gloskey{description} to suppress +the post-description hook. The \styfmt{glossaries-extra} package +provides another command +\begin{definition}[\DescribeMacro\glsxtrnopostpunc] +\cs{glsxtrnopostpunc} +\end{definition} +which has a similar function but only suppresses the +post-description punctuation. It doesn't suppress the use of +\cs{glsxtrpostdescription} which allows the use of +category-dependent post-description hooks. (Note that the +punctuation, which is in the original base hook \cs{glspostdescription}, +comes after the extended post-description hook +\cs{glsxtrpostdescription} not before.) + The \styfmt{glossaries} package provides \begin{definition}[\DescribeMacro\glsseeitemformat] \cs{glsseeitemformat}\marg{label} @@ -995,7 +1010,7 @@ command to its original behaviour, but to take account of abbreviations \styfmt{glossaries-extra} redefines this as: \begin{verbatim} \renewcommand*{\glsseeitemformat}[1]{% - \glsifregular{#1}{\glsaccessname{#1}}{\glsaccesstext{#1}}% + \ifglshasshort{\glslabel}{\glsaccesstext{#1}}{\glsaccessname{#1}}% } \end{verbatim} If you want to restore the \styfmt{glossaries} v3.0+ definition just do: @@ -2528,7 +2543,7 @@ where \meta{label} is the entry's label. This checks if the \texttt{location} field has been set. If it has, it does \begin{verbatim} -\ifglsnopostdot,\fi\glsxtrprelocation +,\glsxtrprelocation \end{verbatim} otherwise it just does \cs{glsxtrprelocation} (which defaults to \cs{space}). If you're not using @@ -2761,6 +2776,19 @@ modified to take into account the \catattr{glossname}, This means you can make simple case-changing modifications to the name and description without defining a new glossary style. +If you want to adapt a style to use another field instead +of \gloskey{name}, you can use +\begin{definition}[\DescribeMacro\glossentrynameother] +\cs{glossentrynameother}\marg{label}\marg{field} +\end{definition} +This behaves just like \cs{glossentryname} (that is, it obeys +\catattr{glossname}, \catattr{glossnamefont} or \cs{glsnamefont} and uses the post-name +hook) but it uses the given \meta{field} instead of \gloskey{name}. +The \meta{field} argument must be the internal field name +(for example \texttt{desc} rather than \texttt{description}). +See the key to field mappings table in the \styfmt{glossaries} +user manual. + There is a hook after \ics{glossentryname} and \ics{Glossentryname}: \begin{definition}[\DescribeMacro\glsxtrpostnamehook] @@ -7804,7 +7832,7 @@ matter) which can be the target for all glossary references and then just use \cs{printunsrtglossaryunit} for a quick summary at the start of a section etc. -\section{Standalone Definitions} +\section{Standalone Entry Items} \label{sec:glossentry} It may be that you don't want a list but would rather display @@ -7877,6 +7905,46 @@ in \cs{glsentryitem} and \cs{glssubentryitem}. the style from category attributes such as \catattr{glossnamefont}. \end{itemize} +If you have used \ics{nopostdesc} or \ics{glsxtrnopostpunc} +in any of your description fields, you can use +\begin{definition}[\DescribeMacro\glsxtractivatenopost] +\cs{glsxtractivatenopost} +\end{definition} +to make these commands behave as they normally do within a glossary. +This needs to be placed before +\begin{alltt} +\cs{glossentrydesc}\marg{label}\cs{glspostdescription} +\end{alltt} +and scoped. Note that \cs{glsnonextpages} and \cs{glsnextpages} have no +effect outside of the glossary and are not intended for use in a +standalone context. + +It's also possible to select a different field (rather than +using \gloskey{name}): +\begin{definition}[\DescribeMacro\glsxtrglossentryother] +\cs{glsxtrglossentryother}\marg{header}\marg{label}\marg{field} +\end{definition} +The \meta{field} must be given using its internal field label +which may not be the same as the key used to set the field. +See the key to field mappings table in the \styfmt{glossaries} +user manual. The \meta{header} argument is the code +to pass to the third argument of \cs{glsxtrtitleorpdforheading}. +It may be left empty in which case the default is determined as follows: +\begin{itemize} +\item If \cs{glsxtrhead\meta{field}} is defined, then \meta{header} +is \cs{glsxtrhead\meta{field}}\marg{label}. +\item Otherwise \meta{header} is simply the field value. +\end{itemize} +The \cs{glsxtrglossentryother} command internally uses +\cs{glossentrynameother}\marg{label}\marg{field} instead of +\cs{glossentryname}\marg{label}. If you are using the +\sty{glossaries-accsupp} package (through the \pkgopt{accsupp} +option) then accessibility support will be provided if +there's a corresponding command +\begin{alltt} +\cs{gls\meta{field}accessdisplay}\marg{text}\marg{label} +\end{alltt} +(for example, \cs{glssymbolaccessdisplay}). This means that my custom command can be changed to: \begin{verbatim} @@ -7887,8 +7955,9 @@ This means that my custom command can be changed to: \par\medskip } \end{verbatim} -If you wanted numbered definitions, then use the -package option \sty{entrycounter} and remove the colon: +If I want numbered definitions, then I can use the +package options \sty{entrycounter} or \sty{subentrycounter} +and remove the colon: \begin{verbatim} \newcommand{\displayterm}[1]{% \par\medskip\par\noindent @@ -7900,12 +7969,27 @@ package option \sty{entrycounter} and remove the colon: The counter label uses a dot after the number by default but this can be changed to a colon: \begin{verbatim} -\renewcommand*{\glsentrycounterlabel}{\theglossaryentry:\space}% +\renewcommand*{\glsentrycounterlabel}{\theglossaryentry:\space} \end{verbatim} -You can now not only use \cs{gls} to link back to the +It's now possible to not only use \cs{gls} to link back to the definition but also use \cs{glsrefentry} to reference the counter and \cs{glsxtrpageref} to reference the page number. +If I want the description to behave more like it does +in a glossary in need to make the following modification: +\begin{verbatim} +\newcommand{\displayterm}[1]{% + \par\medskip\par\noindent + Definition \glsxtrglossentry{#1}.\par + \begingroup + \glsxtractivatenopost + \glossentrydesc{#1}\glspostdescription + \endgroup + \par\medskip +} +\end{verbatim} +(Note the grouping to localise \cs{glsxtractivatenopost}.) + You can also use \cs{glsxtrglossentry} within section headings. For example: \begin{verbatim} diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-abbr-styles.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-abbr-styles.pdf index b7af69393a9..33acc0fdf10 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-abbr-styles.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-abbr-styles.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-abbrv.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-abbrv.pdf index cae4a8acda7..d16b7faf93f 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-abbrv.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-abbrv.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-accsupp.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-accsupp.pdf index e2ec450e18a..23707a2e7dc 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-accsupp.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-accsupp.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-acronym-desc.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-acronym-desc.pdf index 542918295d4..119f3fe0edd 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-acronym-desc.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-acronym-desc.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-acronym.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-acronym.pdf index 499e33e96ed..f7eb97863c6 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-acronym.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-acronym.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-alias.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-alias.pdf index b1180e4d04a..02b5ad2f48e 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-alias.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-alias.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-altmodifier.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-altmodifier.pdf index 4d7b86d9006..b38b45a7734 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-altmodifier.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-altmodifier.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-alttree-marginpar.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-alttree-marginpar.pdf index 2a8c0c1387e..1919f077535 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-alttree-marginpar.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-alttree-marginpar.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-alttree-sym.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-alttree-sym.pdf index dacafc4c07e..faf7e1a0f20 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-alttree-sym.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-alttree-sym.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-alttree.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-alttree.pdf index 117845aea1f..cd25a454021 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-alttree.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-alttree.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-autoindex-hyp.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-autoindex-hyp.pdf index 4f30f0108b0..be8b504e871 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-autoindex-hyp.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-autoindex-hyp.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-autoindex.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-autoindex.pdf index e33a8609443..1ded01f5729 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-autoindex.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-autoindex.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-crossref.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-crossref.pdf index 856c9cb2ca3..c9b4d0999ce 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-crossref.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-crossref.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-crossref2.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-crossref2.pdf index a25f2654db6..076ff8dd478 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-crossref2.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-crossref2.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-docdef.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-docdef.pdf index 6085431ba82..8d9bdbb25f6 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-docdef.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-docdef.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-entrycount.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-entrycount.pdf index b61eae62f1c..88d378f940e 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-entrycount.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-entrycount.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-external.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-external.pdf index e786437b228..b3ca0b88419 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-external.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-external.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-fmt.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-fmt.pdf index 64808f0761f..952cb7914ba 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-fmt.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-fmt.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-footnote.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-footnote.pdf index 06686623c39..2ad3eccf8a0 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-footnote.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-footnote.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-header.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-header.pdf index a9c5ce3f8f4..5eb06d8d5a5 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-header.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-header.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-indexhook.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-indexhook.pdf index 9a51935e5e9..4879b5d5256 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-indexhook.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-indexhook.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-initialisms.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-initialisms.pdf index 3a46f6ee084..b547d215eb7 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-initialisms.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-initialisms.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-mixed-abbrv-styles.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-mixed-abbrv-styles.pdf index d7991202a71..ed4750bffaa 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-mixed-abbrv-styles.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-mixed-abbrv-styles.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-mixedsort.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-mixedsort.pdf index 5963384c8ef..55ce8226542 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-mixedsort.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-mixedsort.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-mixture.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-mixture.pdf index 6fd87019edf..d88d070acc4 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-mixture.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-mixture.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-name-font.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-name-font.pdf index 8c504cc6305..0b0c98c9280 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-name-font.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-name-font.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-nested.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-nested.pdf index ee7ba03d0fb..b6cfdcead35 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-nested.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-nested.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-noidx-restricteddocdefs.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-noidx-restricteddocdefs.pdf index 6b4904bc7ac..112a1c3364e 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-noidx-restricteddocdefs.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-noidx-restricteddocdefs.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-onelink.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-onelink.pdf index 2f76c14bbe8..870618bf67f 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-onelink.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-onelink.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-onthefly-utf8.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-onthefly-utf8.pdf index fc4080e89b6..81e09f53fd3 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-onthefly-utf8.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-onthefly-utf8.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-onthefly-xetex.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-onthefly-xetex.pdf index e3f43be5bb3..62d24b3008a 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-onthefly-xetex.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-onthefly-xetex.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-onthefly.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-onthefly.pdf index dfd83b1dceb..bb68df3ce26 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-onthefly.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-onthefly.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-pages.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-pages.pdf index 50a8f3f0004..de028dbbf2e 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-pages.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-pages.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-postdot.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-postdot.pdf index 42a9babf2f2..c2e6524b9fd 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-postdot.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-postdot.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-postlink.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-postlink.pdf index 3647d34b693..e9ec6ba6b83 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-postlink.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-postlink.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-prefix.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-prefix.pdf index d39bd012bdc..abbb7d2ea93 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-prefix.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-prefix.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-record.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-record.pdf index b1abfde0aa3..be946905702 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-record.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-record.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-restricteddocdefs.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-restricteddocdefs.pdf index 2c1e069b722..610a4dac0e7 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-restricteddocdefs.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-restricteddocdefs.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-suppl-hyp.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-suppl-hyp.pdf index 302c84fa3c9..2cd7a679f4b 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-suppl-hyp.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-suppl-hyp.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-suppl-main-hyp.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-suppl-main-hyp.pdf index e636f80f6c7..cd994f6bcea 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-suppl-main-hyp.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-suppl-main-hyp.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-suppl-main.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-suppl-main.pdf index e6b95c246b9..c5efdcb0d04 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-suppl-main.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-suppl-main.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-suppl.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-suppl.pdf index fabffa3e192..ed8fb947fbc 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-suppl.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-suppl.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-trans.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-trans.pdf index 28605012154..c182dd11d87 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-trans.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-trans.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-undef.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-undef.pdf index c17a7d89070..eefb0d323a3 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-undef.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-undef.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-unitentrycount.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-unitentrycount.pdf index a99a83c2c61..77f5002b4fc 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample-unitentrycount.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-unitentrycount.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample.pdf index 359a8d00366..75ad17eee92 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample.pdf differ diff --git a/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.dtx b/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.dtx index f43abcd99c1..24521881771 100644 --- a/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.dtx +++ b/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.dtx @@ -1,22 +1,22 @@ %\iffalse % glossaries-extra.dtx generated using makedtx version 1.2 (c) Nicola Talbot % Command line args: -% -author "Nicola Talbot" +% -doc "glossaries-extra-codedoc.tex" +% -macrocode ".*\.tex" +% -macrocode ".*\.bib" % -src "glossaries-extra.sty\Z=>glossaries-extra.sty" % -src "glossaries-extra-stylemods.sty\Z=>glossaries-extra-stylemods.sty" % -src "glossary-bookindex.sty\Z=>glossary-bookindex.sty" % -src "(example-glossaries-.+\.tex)\Z=>\1" % -src "(example-glossaries-.+\.bib)\Z=>\1" +% -setambles ".*\.bib=>\nopreamble\nopostamble" % -section "chapter" -% -macrocode ".*\.tex" -% -macrocode ".*\.bib" +% -author "Nicola Talbot" +% -codetitle "Main Package Code (\\styfmt{glossaries-extra.sty})" % -comment ".*\.tex" % -comment ".*\.bib" -% -doc "glossaries-extra-codedoc.tex" -% -setambles ".*\.bib=>\nopreamble\nopostamble" -% -codetitle "Main Package Code (\\styfmt{glossaries-extra.sty})" % glossaries-extra -% Created on 2017/11/3 16:35 +% Created on 2017/11/8 17:23 %\fi %\iffalse %<*package> @@ -126,7 +126,7 @@ governed by the \gloskey{first} and \gloskey{firstplural} keys of \setcounter{IndexColumns}{2} -\CheckSum{19892} +\CheckSum{20050} \newcommand*{\ifirstuse}{\iterm{first use}} \newcommand*{\firstuse}{\gls{firstuse}} @@ -166,13 +166,13 @@ governed by the \gloskey{first} and \gloskey{firstplural} keys of \raggedright } -\title{glossaries-extra.sty v1.21: +\title{glossaries-extra.sty v1.22: documented code} \author{Nicola L.C. Talbot\\[10pt] Dickimaw Books\\ \url{http://www.dickimaw-books.com/}} -\date{2017-11-03} +\date{2017-11-08} \begin{document} \DocInput{glossaries-extra.dtx} @@ -217,7 +217,7 @@ Dickimaw Books\\ %\section{Package Initialisation and Options} % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossaries-extra}[2017/11/03 v1.21 (NLCT)] +\ProvidesPackage{glossaries-extra}[2017/11/08 v1.22 (NLCT)] % \end{macrocode} % Requires \sty{xkeyval} to define package options. % \begin{macrocode} @@ -1006,9 +1006,8 @@ Dickimaw Books\\ % %\begin{option}{postpunc} %Set the post-description punctuation. This also sets -%the \cs{ifglsnopostdot} conditional for easier integration -%with \cs{glsxtrbookindexprelocation} provided by -%\sty{glossary-bookindex}. +%the \cs{ifglsnopostdot} conditional, which now indicates if +%the post-description punctuation has been suppressed. %\changes{1.21}{2017-11-03}{new} % \begin{macrocode} \define@key{glossaries-extra.sty}{postpunc}{% @@ -2615,16 +2614,18 @@ Dickimaw Books\\ % %\begin{macro}{\glsseeitemformat} %\changes{1.21}{2017-11-03}{new} +%\changes{1.22}{2017-11-08}{switched check from regular to short} %\styfmt{glossaries} originally defined \cs{glsseeitemformat} %to use \cs{glsentryname} but in v3.0 this was switched to %use \cs{glsentrytext} due to problems occurring with the %\gloskey{name} field being sanitized. Since this is no longer a %problem, \styfmt{glossaries-extra} restores the original %definition as it makes more sense to use the \gloskey{name} -%in the cross-reference list. +%in the cross-reference list. This still uses \cs{glsaccesstext} +%for abbreviations. % \begin{macrocode} \renewcommand*{\glsseeitemformat}[1]{% - \glsifregular{#1}{\glsaccessname{#1}}{\glsaccesstext{#1}}% + \ifglshasshort{\glslabel}{\glsaccesstext{#1}}{\glsaccessname{#1}}% } % \end{macrocode} %\end{macro} @@ -7402,7 +7403,8 @@ Dickimaw Books\\ %to pick up the glossary type. % %\begin{macro}{\@glsxtr@orgprintglossary} -%This no longer simply saves \cs{@printglossary} with \cs{let} is actually defined +%This no longer simply saves \cs{@printglossary} with \cs{let} +%but is actually defined %to check for the existence of the title, since ignored %glossaries don't have a title assigned. (bib2gls writes %\cs{provideignoredglossary} to the glstex file for some settings, @@ -7443,7 +7445,11 @@ Dickimaw Books\\ \let\org@glossaryentrynumbers\glossaryentrynumbers \let\glsnonextpages\@glsnonextpages \let\glsnextpages\@glsnextpages - \let\nopostdesc\@nopostdesc +% \end{macrocode} +%\changes{1.22}{2017-11-08}{changed explicit \cs{let} for \cs{nopostdesc} +%to \cs{glsxtractivatenopost}} +% \begin{macrocode} + \glsxtractivatenopost \gls@dotoctitle \@glossarystyle \let\gls@org@glossaryentryfield\glossentry @@ -7465,6 +7471,48 @@ Dickimaw Books\\ % \end{macrocode} %\end{macro} % +%\begin{macro}{\glsxtractivatenopost} +%\changes{1.22}{2017-11-08}{new} +%Change \cs{nopostdesc} and \cs{glsxtrnopostpunc} to behave as they +%do in the glossary. +% \begin{macrocode} +\newcommand*{\glsxtractivatenopost}{% + \let\nopostdesc\@nopostdesc + \let\glsxtrnopostpunc\@glsxtr@nopostpunc +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsxtrnopostpunc} +%\changes{1.22}{2017-11-08}{new} +% \begin{macrocode} +\newrobustcmd*{\glsxtrnopostpunc}{} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@glsxtr@nopostpunc} +%Provide a command that works like \cs{nopostdesc} but only +%switches of the punctuation without suppressing the post-description +%hook. +%\changes{1.22}{2017-11-08}{new} +% \begin{macrocode} +\newcommand{\@glsxtr@nopostpunc}{% + \let\@@glsxtr@org@postdescription\glspostdescription + \ifglsnopostdot + \renewcommand{\glspostdescription}{% + \glsnopostdottrue + \let\glspostdescription\@@glsxtr@org@postdescription + \glsxtrpostdescription}% + \else + \renewcommand{\glspostdescription}{% + \let\glspostdescription\@@glsxtr@org@postdescription + \glsxtrpostdescription}% + \fi + \glsnopostdotfalse +} +% \end{macrocode} +%\end{macro} +% %\begin{macro}{\@printglossary} %Redefine. %\changes{1.09}{2016-12-16}{redefined to save options} @@ -8347,6 +8395,11 @@ Dickimaw Books\\ {\string\providecommand*{\string\glsxtr@linkprefix}[1]{}}% \protected@write\@auxout{}{\string\glsxtr@fields{\@gls@keymap}}% % \end{macrocode} +%\changes{1.22}{2017-11-08}{provide \cs{glsxtr@record} in aux file} +% \begin{macrocode} + \protected@write\@auxout{}% + {\string\providecommand*{\string\glsxtr@record}[5]{}}% +% \end{macrocode} %If any languages have been loaded, the language tag will be %available in \cs{CurrentTrackedLanguageTag} (provided by %\sty{tracklang}). For multilingual @@ -8518,6 +8571,65 @@ Dickimaw Books\\ % \end{macrocode} %\end{macro} % +%\begin{macro}{\glsxtrglossentryother} +%\changes{1.22}{2017-11-08}{new} +%As \cs{glsxtrglossentry} but uses a different field. +%First argument is command to use in the header. The second argument +%is the entry's label. The third argument is the internal field +%label. This needs to be expandable in case it occurs in a +%sectioning command so it can't have an optional argument. +% \begin{macrocode} +\newcommand*{\glsxtrglossentryother}[3]{% + \ifstrempty{#1}% + {% + \ifcsdef{glsxtrhead#3}% + {% + \glsxtrtitleorpdforheading + {\@glsxtrglossentryother{#2}{#3}{#1}}% + {\@gls@entry@field{#2}{#3}}% + {\csuse{glsxtrhead#3}{#2}}% + }% + {% + \glsxtrtitleorpdforheading + {\@glsxtrglossentryother{#2}{#3}{#1}}% + {\@gls@entry@field{#2}{#3}}% + {\@gls@entry@field{\NoCaseChange{#2}}{#3}}% + }% + }% + {% + \glsxtrtitleorpdforheading + {\@glsxtrglossentryother{#2}{#3}{#1}}% + {\@gls@entry@field{#2}{#3}}% + {#1}% + }% +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@glsxtrglossentryother} +%\changes{1.22}{2017-11-08}{new} +%As \cs{@glsxtrglossentry} but uses a different field. +% \begin{macrocode} +\newrobustcmd*{\@glsxtrglossentryother}[3]{% + \glsxtrtitleorpdforheading + {% + \glsdoifexists{#1}% + {% + \begingroup + \edef\glscurrententrylabel{\glsdetoklabel{#1}}% + \edef\currentglossary{\glsentrytype{\glscurrententrylabel}}% + \ifglshasparent{#1}% + {\glssubentryitem{#1}}% + {\glsentryitem{#1}}% + \glstarget{#1}{\glossentrynameother{#1}{#2}}% + \endgroup + }% + }% + {\@gls@entry@field{#1}{#2}}% + {#3}% +} +% \end{macrocode} +%\end{macro} +% %\begin{macro}{\printunsrtglossary} %\changes{1.08}{2016-12-13}{new} %\changes{1.12}{2017-02-03}{added starred form} @@ -11071,6 +11183,114 @@ defined}{}% % \end{macrocode} %\end{macro} % +%\begin{macro}{\glsxtr@setaccessdisplay} +%\changes{1.22}{2017-11-08}{new} +% \begin{macrocode} +\@ifpackageloaded{glossaries-accsupp} +{ + \newcommand*{\glsxtr@setaccessdisplay}[1]{% + \ifcsdef{gls#1accessdisplay}% + {\letcs\@glsxtr@accessdisplay{gls#1accessdisplay}}% + {% +% \end{macrocode} +%This is essentially the reverse of \cs{@gls@fetchfield}, since the +%field supplied to \cs{glossentryname} has to be the internal label, +%but the \cs{gls\meta{field}accessdisplay} commands use the key name. +% \begin{macrocode} + \edef\@gls@thisval{#1}% + \@for\@gls@map:=\@gls@keymap\do{% + \edef\@this@key{\expandafter\@secondoftwo\@gls@map}% + \ifdefequal{\@this@key}{\@gls@thisval}% + {% + \edef\@gls@thisval{\expandafter\@firstoftwo\@gls@map}% + \@endfortrue + }% + {}% + }% + \ifcsdef{gls\@gls@thisval accessdisplay}% + {\letcs\@glsxtr@accessdisplay{gls\@gls@thisval accessdisplay}}% + {\let\@glsxtr@accessdisplay\@firstoftwo}% + }% + } +} +{% + \newcommand*{\glsxtr@setaccessdisplay}[1]{% + \let\@glsxtr@accessdisplay\@firstoftwo} +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glossentrynameother} +% Provide a command that works like \cs{glossentryname} +% but accesses a different field (which must be supplied using its +% internal field label). +%\changes{1.22}{2017-11-08}{new} +% \begin{macrocode} +\newrobustcmd*{\glossentrynameother}[2]{% + \@glsdoifexistsorwarn{#1}% + {% +% \end{macrocode} +%Accessibility support: +% \begin{macrocode} + \glsxtr@setaccessdisplay{#2}% +% \end{macrocode} +%Set the abbreviation format: +% \begin{macrocode} + \glssetabbrvfmt{\glscategory{#1}}% + \glshasattribute{#1}{glossnamefont}% + {% + \edef\@glsxtr@attrval{\glsgetattribute{#1}{glossnamefont}}% + \ifcsdef{\@glsxtr@attrval}% + {% + \letcs{\@glsxtr@glossnamefont}{\@glsxtr@attrval}% + }% + {% + \GlossariesExtraWarning{Unknown control sequence name + `\@glsxtr@attrval' supplied in glossnamefont attribute + for entry `#1'. Reverting to default \string\glsnamefont}% + \let\@glsxtr@glossnamefont\glsnamefont + }% + }% + {\let\@glsxtr@glossnamefont\glsnamefont}% + \glsifattribute{#1}{glossname}{firstuc}% + {% + \@glsxtr@accessdisplay + {\@glsxtr@glossnamefont{\@Gls@entry@field{#1}{#2}}}% + {#1}% + }% + {% + \glsifattribute{#1}{glossname}{title}% + {% + \@glsxtr@do@titlecaps@warn + \@glsxtr@accessdisplay + {\@glsxtr@glossnamefont{\glsxtrfieldtitlecase{#1}{#2}}}% + {#1}% + }% + {% + \glsifattribute{#1}{glossname}{uc}% + {% + \letcs{\glo@name}{glo@\glsdetoklabel{#1}@#2}% + \@glsxtr@accessdisplay + {\@glsxtr@glossnamefont{\mfirstucMakeUppercase{\glo@name}}}% + {#1}% + }% + {% + \letcs{\glo@name}{glo@\glsdetoklabel{#1}@#2}% + \@glsxtr@accessdisplay + {\expandafter\@glsxtr@glossnamefont\expandafter{\glo@name}}% + {#1}% + }% + }% + }% +% \end{macrocode} +% Do post-name hook. +% \begin{macrocode} + \glsxtrpostnamehook{#1}% + }% +} +% \end{macrocode} +%\end{macro} +% %\begin{macro}{\if@glsxtr@format@override} %\changes{0.5.3}{2015-12-09}{new} % Determines if the \gloskey[glslink]{format} key should override @@ -20446,7 +20666,7 @@ defined}{}% % First identify package: % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossaries-extra-stylemods}[2017/11/03 v1.21 (NLCT)] +\ProvidesPackage{glossaries-extra-stylemods}[2017/11/08 v1.22 (NLCT)] % \end{macrocode} % Provide package options to automatically load required predefined % styles. The simplest method is to just test for the existence of @@ -22431,7 +22651,7 @@ defined}{}% %\section{Package Initialisation and Options} % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossary-bookindex}[2017/11/03 v1.21 (NLCT)] +\ProvidesPackage{glossary-bookindex}[2017/11/08 v1.22 (NLCT)] % \end{macrocode} %Load required packages. % \begin{macrocode} @@ -22472,10 +22692,13 @@ defined}{}% %\begin{macro}{\glsxtrbookindexprelocation} %\changes{1.21}{2017-11-03}{new} %Separator used before location list for top-level entries. +%Version 1.22 has removed the \cs{ifglsnopostdot} check +%since this style doesn't display the description. +%\changes{1.22}{2017-11-08}{removed check for no post dot} % \begin{macrocode} \newcommand*{\glsxtrbookindexprelocation}[1]{% \glsxtrifhasfield{location}{#1}% - {\ifglsnopostdot,\fi\glsxtrprelocation}% + {,\glsxtrprelocation}% {\glsxtrprelocation}% } % \end{macrocode} diff --git a/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.ins b/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.ins index 66479154057..e9c331cc9a1 100644 --- a/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.ins +++ b/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.ins @@ -1,4 +1,4 @@ -% glossaries-extra.ins generated using makedtx version 1.2 2017/11/3 16:35 +% glossaries-extra.ins generated using makedtx version 1.2 2017/11/8 17:23 \input docstrip \preamble diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-stylemods.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-stylemods.sty index 67146a59603..2cf66fff322 100644 --- a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-stylemods.sty +++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-stylemods.sty @@ -39,7 +39,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossaries-extra-stylemods}[2017/11/03 v1.21 (NLCT)] +\ProvidesPackage{glossaries-extra-stylemods}[2017/11/08 v1.22 (NLCT)] \newcommand*{\@glsxtr@loadstyles}{} \DeclareOption{all}{% \appto\@glsxtr@loadstyles{% diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra.sty index 22e40c389af..c077b215f8c 100644 --- a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra.sty +++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra.sty @@ -39,7 +39,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossaries-extra}[2017/11/03 v1.21 (NLCT)] +\ProvidesPackage{glossaries-extra}[2017/11/08 v1.22 (NLCT)] \RequirePackage{xkeyval} \RequirePackage{etoolbox} \@ifpackageloaded{glossaries} @@ -1192,7 +1192,7 @@ \glsseeformat[#1]{#2}{}% } \renewcommand*{\glsseeitemformat}[1]{% - \glsifregular{#1}{\glsaccessname{#1}}{\glsaccesstext{#1}}% + \ifglshasshort{\glslabel}{\glsaccesstext{#1}}{\glsaccessname{#1}}% } \newcommand*{\glsxtruseseealso}[1]{% \glsdoifexists{#1}% @@ -3709,7 +3709,7 @@ \let\org@glossaryentrynumbers\glossaryentrynumbers \let\glsnonextpages\@glsnonextpages \let\glsnextpages\@glsnextpages - \let\nopostdesc\@nopostdesc + \glsxtractivatenopost \gls@dotoctitle \@glossarystyle \let\gls@org@glossaryentryfield\glossentry @@ -3728,6 +3728,25 @@ \global\let\glossaryentrynumbers\@org@glossaryentrynumbers \global\let\warn@noprintglossary\relax } +\newcommand*{\glsxtractivatenopost}{% + \let\nopostdesc\@nopostdesc + \let\glsxtrnopostpunc\@glsxtr@nopostpunc +} +\newrobustcmd*{\glsxtrnopostpunc}{} +\newcommand{\@glsxtr@nopostpunc}{% + \let\@@glsxtr@org@postdescription\glspostdescription + \ifglsnopostdot + \renewcommand{\glspostdescription}{% + \glsnopostdottrue + \let\glspostdescription\@@glsxtr@org@postdescription + \glsxtrpostdescription}% + \else + \renewcommand{\glspostdescription}{% + \let\glspostdescription\@@glsxtr@org@postdescription + \glsxtrpostdescription}% + \fi + \glsnopostdotfalse +} \renewcommand{\@printglossary}[2]{% \def\@glsxtr@printglossopts{#1}% \@glsxtr@orgprintglossary{#1}{#2}% @@ -4225,6 +4244,8 @@ \protected@write\@auxout{}% {\string\providecommand*{\string\glsxtr@linkprefix}[1]{}}% \protected@write\@auxout{}{\string\glsxtr@fields{\@gls@keymap}}% + \protected@write\@auxout{}% + {\string\providecommand*{\string\glsxtr@record}[5]{}}% \ifdef\CurrentTrackedLanguageTag {% \protected@write\@auxout{}{% @@ -4300,6 +4321,48 @@ {\glsentryname{#1}}% {\glsxtrheadname{#1}}% } +\newcommand*{\glsxtrglossentryother}[3]{% + \ifstrempty{#1}% + {% + \ifcsdef{glsxtrhead#3}% + {% + \glsxtrtitleorpdforheading + {\@glsxtrglossentryother{#2}{#3}{#1}}% + {\@gls@entry@field{#2}{#3}}% + {\csuse{glsxtrhead#3}{#2}}% + }% + {% + \glsxtrtitleorpdforheading + {\@glsxtrglossentryother{#2}{#3}{#1}}% + {\@gls@entry@field{#2}{#3}}% + {\@gls@entry@field{\NoCaseChange{#2}}{#3}}% + }% + }% + {% + \glsxtrtitleorpdforheading + {\@glsxtrglossentryother{#2}{#3}{#1}}% + {\@gls@entry@field{#2}{#3}}% + {#1}% + }% +} +\newrobustcmd*{\@glsxtrglossentryother}[3]{% + \glsxtrtitleorpdforheading + {% + \glsdoifexists{#1}% + {% + \begingroup + \edef\glscurrententrylabel{\glsdetoklabel{#1}}% + \edef\currentglossary{\glsentrytype{\glscurrententrylabel}}% + \ifglshasparent{#1}% + {\glssubentryitem{#1}}% + {\glsentryitem{#1}}% + \glstarget{#1}{\glossentrynameother{#1}{#2}}% + \endgroup + }% + }% + {\@gls@entry@field{#1}{#2}}% + {#3}% +} \newcommand*{\printunsrtglossary}{% \@ifstar\s@printunsrtglossary\@printunsrtglossary } @@ -5416,6 +5479,85 @@ defined}{}% \glsxtrdoautoindexname{#1}{indexname}% \csuse{glsxtrpostname\glscategory{#1}}% } +\@ifpackageloaded{glossaries-accsupp} +{ + \newcommand*{\glsxtr@setaccessdisplay}[1]{% + \ifcsdef{gls#1accessdisplay}% + {\letcs\@glsxtr@accessdisplay{gls#1accessdisplay}}% + {% + \edef\@gls@thisval{#1}% + \@for\@gls@map:=\@gls@keymap\do{% + \edef\@this@key{\expandafter\@secondoftwo\@gls@map}% + \ifdefequal{\@this@key}{\@gls@thisval}% + {% + \edef\@gls@thisval{\expandafter\@firstoftwo\@gls@map}% + \@endfortrue + }% + {}% + }% + \ifcsdef{gls\@gls@thisval accessdisplay}% + {\letcs\@glsxtr@accessdisplay{gls\@gls@thisval accessdisplay}}% + {\let\@glsxtr@accessdisplay\@firstoftwo}% + }% + } +} +{% + \newcommand*{\glsxtr@setaccessdisplay}[1]{% + \let\@glsxtr@accessdisplay\@firstoftwo} +} +\newrobustcmd*{\glossentrynameother}[2]{% + \@glsdoifexistsorwarn{#1}% + {% + \glsxtr@setaccessdisplay{#2}% + \glssetabbrvfmt{\glscategory{#1}}% + \glshasattribute{#1}{glossnamefont}% + {% + \edef\@glsxtr@attrval{\glsgetattribute{#1}{glossnamefont}}% + \ifcsdef{\@glsxtr@attrval}% + {% + \letcs{\@glsxtr@glossnamefont}{\@glsxtr@attrval}% + }% + {% + \GlossariesExtraWarning{Unknown control sequence name + `\@glsxtr@attrval' supplied in glossnamefont attribute + for entry `#1'. Reverting to default \string\glsnamefont}% + \let\@glsxtr@glossnamefont\glsnamefont + }% + }% + {\let\@glsxtr@glossnamefont\glsnamefont}% + \glsifattribute{#1}{glossname}{firstuc}% + {% + \@glsxtr@accessdisplay + {\@glsxtr@glossnamefont{\@Gls@entry@field{#1}{#2}}}% + {#1}% + }% + {% + \glsifattribute{#1}{glossname}{title}% + {% + \@glsxtr@do@titlecaps@warn + \@glsxtr@accessdisplay + {\@glsxtr@glossnamefont{\glsxtrfieldtitlecase{#1}{#2}}}% + {#1}% + }% + {% + \glsifattribute{#1}{glossname}{uc}% + {% + \letcs{\glo@name}{glo@\glsdetoklabel{#1}@#2}% + \@glsxtr@accessdisplay + {\@glsxtr@glossnamefont{\mfirstucMakeUppercase{\glo@name}}}% + {#1}% + }% + {% + \letcs{\glo@name}{glo@\glsdetoklabel{#1}@#2}% + \@glsxtr@accessdisplay + {\expandafter\@glsxtr@glossnamefont\expandafter{\glo@name}}% + {#1}% + }% + }% + }% + \glsxtrpostnamehook{#1}% + }% +} \newif\if@glsxtr@format@override \@glsxtr@format@overridefalse \@ifpackageloaded{hyperref} diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/glossary-bookindex.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-bookindex.sty index ccc4bb32f57..a55eb8e5996 100644 --- a/Master/texmf-dist/tex/latex/glossaries-extra/glossary-bookindex.sty +++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossary-bookindex.sty @@ -39,7 +39,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossary-bookindex}[2017/11/03 v1.21 (NLCT)] +\ProvidesPackage{glossary-bookindex}[2017/11/08 v1.22 (NLCT)] \RequirePackage{multicol} \RequirePackage{glossary-tree} \newcommand{\glsxtrbookindexcols}{2} @@ -49,7 +49,7 @@ \newcommand*{\glsxtrbookindexprelocation}[1]{% \glsxtrifhasfield{location}{#1}% - {\ifglsnopostdot,\fi\glsxtrprelocation}% + {,\glsxtrprelocation}% {\glsxtrprelocation}% } \newcommand*{\glsxtrbookindexsubprelocation}[1]{% -- cgit v1.2.3