From 88be00188d030954be624d333c41f0bf0a6c6488 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 9 Aug 2017 22:15:23 +0000 Subject: glossaries-extra (9aug17) git-svn-id: svn://tug.org/texlive/trunk@44998 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/doc/latex/glossaries-extra/CHANGES | 39 + .../texmf-dist/doc/latex/glossaries-extra/README | 4 +- .../glossaries-extra/glossaries-extra-code.pdf | Bin 798427 -> 927368 bytes .../glossaries-extra/glossaries-extra-manual.html | 10907 +++++++++++-------- .../glossaries-extra/glossaries-extra-manual.pdf | Bin 690735 -> 736071 bytes .../glossaries-extra/glossaries-extra-manual.tex | 1349 ++- .../latex/glossaries-extra/sample-abbr-styles.pdf | Bin 0 -> 500436 bytes .../latex/glossaries-extra/sample-abbr-styles.tex | 425 + .../doc/latex/glossaries-extra/sample-abbrv.pdf | Bin 44761 -> 44761 bytes .../doc/latex/glossaries-extra/sample-accsupp.pdf | Bin 80757 -> 80757 bytes .../latex/glossaries-extra/sample-acronym-desc.pdf | Bin 50368 -> 50368 bytes .../doc/latex/glossaries-extra/sample-acronym.pdf | Bin 36745 -> 36745 bytes .../doc/latex/glossaries-extra/sample-alias.pdf | Bin 43611 -> 43611 bytes .../latex/glossaries-extra/sample-altmodifier.pdf | Bin 35308 -> 35308 bytes .../glossaries-extra/sample-alttree-marginpar.pdf | Bin 91061 -> 91061 bytes .../latex/glossaries-extra/sample-alttree-sym.pdf | Bin 69532 -> 69532 bytes .../doc/latex/glossaries-extra/sample-alttree.pdf | Bin 54866 -> 54866 bytes .../glossaries-extra/sample-autoindex-hyp.pdf | Bin 141998 -> 142277 bytes .../latex/glossaries-extra/sample-autoindex.pdf | Bin 161489 -> 161737 bytes .../doc/latex/glossaries-extra/sample-crossref.pdf | Bin 41294 -> 41294 bytes .../latex/glossaries-extra/sample-crossref2.pdf | Bin 41613 -> 41613 bytes .../doc/latex/glossaries-extra/sample-docdef.pdf | Bin 45257 -> 45257 bytes .../latex/glossaries-extra/sample-entrycount.pdf | Bin 54623 -> 54623 bytes .../doc/latex/glossaries-extra/sample-external.pdf | Bin 55786 -> 55786 bytes .../doc/latex/glossaries-extra/sample-fmt.pdf | Bin 75272 -> 75272 bytes .../doc/latex/glossaries-extra/sample-footnote.pdf | Bin 63232 -> 63232 bytes .../doc/latex/glossaries-extra/sample-header.pdf | Bin 125199 -> 125199 bytes .../latex/glossaries-extra/sample-indexhook.pdf | Bin 42722 -> 42722 bytes .../latex/glossaries-extra/sample-initialisms.pdf | Bin 81591 -> 81618 bytes .../glossaries-extra/sample-mixed-abbrv-styles.pdf | Bin 57823 -> 57823 bytes .../latex/glossaries-extra/sample-mixedsort.pdf | Bin 45154 -> 45154 bytes .../doc/latex/glossaries-extra/sample-mixture.pdf | Bin 159939 -> 160170 bytes .../latex/glossaries-extra/sample-name-font.pdf | Bin 202102 -> 202102 bytes .../doc/latex/glossaries-extra/sample-nested.pdf | Bin 67736 -> 67736 bytes .../sample-noidx-restricteddocdefs.pdf | Bin 47582 -> 47582 bytes .../doc/latex/glossaries-extra/sample-onelink.pdf | Bin 44527 -> 44527 bytes .../glossaries-extra/sample-onthefly-utf8.pdf | Bin 106071 -> 106071 bytes .../glossaries-extra/sample-onthefly-xetex.pdf | Bin 19856 -> 19860 bytes .../doc/latex/glossaries-extra/sample-onthefly.pdf | Bin 43481 -> 43481 bytes .../doc/latex/glossaries-extra/sample-pages.pdf | Bin 38801 -> 38801 bytes .../doc/latex/glossaries-extra/sample-postdot.pdf | Bin 37063 -> 37059 bytes .../doc/latex/glossaries-extra/sample-postlink.pdf | Bin 67889 -> 67889 bytes .../doc/latex/glossaries-extra/sample-prefix.pdf | Bin 33119 -> 33119 bytes .../doc/latex/glossaries-extra/sample-record.pdf | Bin 49665 -> 49665 bytes .../glossaries-extra/sample-restricteddocdefs.pdf | Bin 47895 -> 47895 bytes .../latex/glossaries-extra/sample-suppl-hyp.pdf | Bin 34944 -> 34944 bytes .../glossaries-extra/sample-suppl-main-hyp.pdf | Bin 32971 -> 32971 bytes .../latex/glossaries-extra/sample-suppl-main.pdf | Bin 31607 -> 31607 bytes .../doc/latex/glossaries-extra/sample-suppl.pdf | Bin 13423 -> 13423 bytes .../doc/latex/glossaries-extra/sample-trans.pdf | Bin 49455 -> 49455 bytes .../doc/latex/glossaries-extra/sample-undef.pdf | Bin 33231 -> 33231 bytes .../glossaries-extra/sample-unitentrycount.pdf | Bin 61051 -> 61051 bytes .../doc/latex/glossaries-extra/sample.pdf | Bin 45747 -> 45747 bytes 53 files changed, 7710 insertions(+), 5014 deletions(-) create mode 100644 Master/texmf-dist/doc/latex/glossaries-extra/sample-abbr-styles.pdf create mode 100644 Master/texmf-dist/doc/latex/glossaries-extra/sample-abbr-styles.tex (limited to 'Master/texmf-dist/doc/latex') diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/CHANGES b/Master/texmf-dist/doc/latex/glossaries-extra/CHANGES index 91e3ac4cd3e..ecdf9ec7ab1 100644 --- a/Master/texmf-dist/doc/latex/glossaries-extra/CHANGES +++ b/Master/texmf-dist/doc/latex/glossaries-extra/CHANGES @@ -1,3 +1,42 @@ +1.17 (2017-08-09): + + * Added \glsxtrword, \glsxtrwordsep and check for 'markwords' + and 'markshortwords' category attributes. + + * New abbreviation styles: + + - short-nolong-noreg + - short-nolong-desc-noreg + - long-noshort-desc-noreg + - long-noshort-noreg + - long-em-noshort-em-noreg + - long-em-noshort-em-desc-noreg + - long-only-short-only + - long-only-short-only-desc + + designed to work with 'markwords' attribute: + - long-hyphen-short-hyphen + - long-hyphen-short-hyphen-desc + - long-hyphen-noshort-desc-noreg + - long-hyphen-postshort-hyphen + - long-hyphen-postshort-hyphen-desc + - short-hyphen-long-hyphen + - short-hyphen-long-hyphen-desc + - short-hyphen-postlong-hyphen + - short-hyphen-postlong-hyphen-desc + + * New sample document sample-abbr-styles.tex that illustrates all + available abbreviation styles. + + * Fixed some inconsistencies in the predefined abbreviation styles. + + * Added extra value 'ac' to package option 'shortcuts' + + * Added \ifglsxtrinsertinside check for subsequent use. + + * Added \glsxtrparen, \glsxtrsubsequentfmt and sundry other helper + commands related to abbreviation styles. + 1.16 (2017-06-15): * New key: seealso diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/README b/Master/texmf-dist/doc/latex/glossaries-extra/README index a5a766cd75d..4be4bbb24a7 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.16 +LaTeX Package : glossaries-extra v1.17 -Last Modified : 2017-06-15 +Last Modified : 2017-08-09 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 c83974ff9e4..8e3a34864dd 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 0328541b6af..4595b84584c 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 @@ -202,22 +202,22 @@ a span.HoLogo-TeX span.HoLogo-e{text-decoration:none;} -

-

+

-

+

-

-

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

+

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

@@ -240,22 +240,22 @@ class="td11">http://www.dickimaw-books.com/
-

2017-06-15

+

2017-08-09

-

+

-

-

+

Abstract

-

The

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

The file

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

-

Since

Since glossaries-extra internally loads the glossaries package, you also need to have EX distribution? or Updating TEX on Linux.)
-

-

Additional resources:

+

+

Additional resources:

  • The glossaries-extra documented code Glossary -

    1.

    1. Introduction

    -

    The

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

    The

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

    -

    Top

    1.1 Package Defaults

    -

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

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

    The new defaults are:

    +

    The new defaults are:

    • toc=truetoc=falsenopostdot=true (suppress the terminating full stop after the description - in the glossary). Use nopostdot=false to restore the terminating full stop - (period). + id="dx1-3004"> or just postdot to restore the + terminating full stop (period).
    • noredefwarn=true (suppress the warnings that occur when the (suppress the warnings that occur when the theglossary + id="dx1-3007"> environment and \printglossary are redefined while glossaries is loading). To restore the warnings, use noredefwarn=false. Note that this + id="dx1-3009">. Note that this won’t have any effect if the glossaries package has already been loaded before you use the glossaries-extra package.
    • If babel has been loaded, the has been loaded, the translate=babel option is switched on. To + id="dx1-3011"> option is switched on. To revert to using the translator interface, use interface, use translate=true. There is no + id="dx1-3013">. There is no change to the default if babel hasn’t been loaded. + id="dx1-3014"> hasn’t been loaded.
    -

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

    The examples below illustrate the difference in explicit package options between glossaries and glossaries-extra. There may be other differences resulting from @@ -517,10 +520,10 @@ href="#sec:modifications">§2 Modifications to Existing Commands and Styles). -

    +

    1. + class="enumerate" id="x1-3016x1"> @@ -528,7 +531,7 @@ Commands and Styles). \documentclass{article}  
      \usepackage{glossaries-extra}
    -

    This is like: +

    This is like: @@ -538,10 +541,10 @@ Commands and Styles).  
    \usepackage[toc,nopostdot]{glossaries}  
    \usepackage{glossaries-extra}

    -

    +

  • + class="enumerate" id="x1-3018x2"> @@ -550,7 +553,7 @@ Commands and Styles).  
    \usepackage{babel}  
    \usepackage{glossaries-extra}
-

This is like: +

This is like: @@ -561,10 +564,10 @@ Commands and Styles).  
\usepackage[toc,nopostdot,translate=babel]{glossaries}  
\usepackage{glossaries-extra} -

+

  • + class="enumerate" id="x1-3020x3"> @@ -572,7 +575,7 @@ Commands and Styles). \documentclass{memoir}  
    \usepackage{glossaries-extra} -

    This is like: +

    This is like: @@ -582,7 +585,7 @@ Commands and Styles).  
    \usepackage[toc,nopostdot,noredefwarn]{glossaries}  
    \usepackage{glossaries-extra} -

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

    This is like: +

    This is like: @@ -603,32 +606,32 @@ class="cmti-10">However  
    \usepackage[toc,nopostdot]{glossaries}  
    \usepackage{glossaries-extra} -

    Since by the time

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

  • -

    Another noticeable change is that by default ’s glossary-related commands.

    +

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

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

    This change is mostly likely to be noticed by users with one or more redundant empty glossaries who ignore transcript messages, explicitly use makeindex/xindy on just the non-empty glossary (or glossaries) and use the iterative \printglossaries command instead of command instead of \printglossary. For example, consider the + id="dx1-3025">. For example, consider the following: @@ -645,15 +648,15 @@ following:  
    \printglossaries  
    \end{document} -

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

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

    If you use

    If you use makeglossaries, you’ll get the warning message: @@ -666,9 +669,9 @@ Warning: File 'test.glo' is empty.  
    Remember to use package option 'nomain' if you  
    don't want to use the main glossary. -

    (where the original file is called

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

    This doesn’t occur with

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

    If you simply change from

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

    The transcript file will still contain the message about the missing

    The transcript file will still contain the message about the missing .gls, but now you’ll also see information in the actual PDF document. The simplest remedy is to follow the advice inserted into the document at that point, which is to add the nomain package option: + id="dx1-3032"> package option:

    \documentclass{article} - 
    \usepackage[nomain,acronym]{glossaries-extra} + 
    \usepackage[nomain,acronym,postdot]{glossaries-extra}  
    \makeglossaries + 
    \setabbreviationstyle[acronym]{long-short}  
    \newacronym{laser}{laser}{light amplification by stimulated  
    emission of radiation}  
    \begin{document} @@ -722,13 +726,19 @@ class="cmss-10">nomain\printglossaries  
    \end{document}
    -

    -

    +

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

    -

    Top

    1.2 New or Modified Package Options

    -

    If you haven’t already loaded

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

    This section only lists options that are either unrecognised by the

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

    -

    The new and modified options provided by

    +

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

    -accsupppostdot
    (New to version 1.12.) This option is just a shortcut for + nopostdot=false. +
    +accsupp
    Load the glossaries-accsupp package (if not already loaded). - - - -

    If you want to define styles that can interface with the accessibility support + id="dx1-4005"> package (if not already loaded). +

    If you want to define styles that can interface with the accessibility support provided by glossaries-accsupp use the use the \glsaccessxxx⟩ type of commands instead of \glsentryxxx⟩ (for example, \glsaccesstext instead of + id="dx1-4007"> instead of \glsentrytext). If ). If glossaries-accsupp hasn’t been loaded those commands + id="dx1-4009"> hasn’t been loaded those commands are equivalent (for example, \glsaccesstext just does \glsentrytext) @@ -791,25 +811,26 @@ href="#sec:accsupp">§11.2 Accessibility Support for further details.) -

    Note that the

    Note that the accsupp option can only be used as a package option (not + id="dx1-4010"> option can only be used as a package option (not through \glossariesextrasetup) since the ) since the glossaries-accsupp package + id="dx1-4012"> package must be loaded before glossaries-extra if it’s required.

    -stylemods
    This is a ⟨key⟩=⟨value⟩ option used to load the glossaries-extra-stylemods + id="dx1-4014"> package. The value may be a comma-separated list of options to pass to that package. (Remember to group ⟨value⟩ if it contains any commas.) The @@ -819,9 +840,10 @@ class="cmsy-10">§2.8 Glossary Style Modifications for further details.
    -undefaction
    This is a ⟨key⟩=⟨value⟩ option, which has two allowed values: warn class="cmss-10">error. This indicates what to do if an undefined glossary entry is referenced. The default behaviour is undefaction=error, which produces an + id="dx1-4016">, which produces an error message (the default for glossaries). You can switch this to a warning message (and ?? appearing in the text) with undefaction=warn. -

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

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

    +

    -indexcrossrefs
    This is a boolean option. If true, this will automatically index any cross-referenced entries that haven’t been marked as used at the end of the @@ -856,58 +879,63 @@ class="cmss-10">true, this will automatically index any class="cmss-10">false, but it will be automatically switched on if you use the see or or seealso keys - in any entries (unless autoseeindex=false). To force it off, even if you + id="dx1-4022"> keys + in any entries (unless autoseeindex=false). To force it off, even if you use the see or or seealso key, you need to explicitly set key, you need to explicitly set indexcrossrefs to + id="dx1-4026"> to false. -

    Note that

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

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

    Note that the record=only option automatically implements

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

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

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

    -

    then with

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

    but with

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

    Note that indexcrossrefs isn’t automatically implemented by the presence of the +

    Note that indexcrossrefs isn’t automatically implemented by the presence of the see key when key when autoseeindex is false. -

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

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

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

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

    -record
    (New to v1.08.) This is a ⟨key⟩=⟨value⟩ option, which has three allowed values: @@ -968,63 +998,67 @@ class="cmss-10">only and alsoindex. If the value is omitted only is assumed. The option is provided for the benefit of bib2gls (see (see §9 bib2gls: Managing Reference Databases). -

    The option may only be set in the preamble. -

    The

    The option may only be set in the preamble. +

    The record=off option switches off the recording, as per the default behaviour. - It implements undefaction=error. -

    The other values switch on the recording and also undefaction=warn, + id="dx1-4042"> option switches off the recording, as per the default behaviour. + It implements undefaction=error. +

    The other values switch on the recording and also undefaction=warn, but record=only will also switch off the indexing mechanism (even if + id="dx1-4045"> will also switch off the indexing mechanism (even if \makeglossaries or \makenoidxglossaries has been used) whereas record=alsoindex will both record and index. Note that will both record and index. Note that record=only will prevent + id="dx1-4047"> will prevent the see from automatically implementing from automatically implementing \glssee. (bib2gls deals with the deals with the see + id="dx1-4051"> field.) You may explicitly use \glssee in the document, but bib2gls + id="dx1-4053"> will ignore the cross-reference if the see field was already set for that + id="dx1-4054"> field was already set for that entry. -

    The

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

    With the recording on, any of the commands that would typically index the +

    With the recording on, any of the commands that would typically index the entry (such as \gls, \glstext or \glsadd) will add a \glsxtr@record entry to the .aux file. bib2gls can then read these lines to find out which entries + id="dx1-4058"> can then read these lines to find out which entries have been used. (Remember that commands like \glsentryname don’t index, so any use of these commands won’t add a corresponding bib2gls: Managing Reference Databases

    With this option, if an entry appears in the glossary before it has been - defined, an error will occur (or a warning if the undefaction=warn +

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

    -

    The

    The glossaries package allows \newglossaryentry within the document + id="dx1-4077"> environment (when used with makeindex or xindy) but the user manual warns against this usage. By default the glossaries-extra package prohibits this, only allowing definitions within the preamble. If you are really determined to define entries in the document environment, despite all the + id="dx1-4081"> environment, despite all the associated drawbacks, you can restore this with docdef=true. Note that this + id="dx1-4083">. Note that this @@ -1164,12 +1201,12 @@ class="cmss-10">glossaries user manual for further details. A better option if document definitions are required is docdef=restricted. Only use . Only use docdef=true if document definitions + id="dx1-4085"> if document definitions are necessary and one or more of the glossaries occurs in the front matter. -

    This option affects commands that internally use

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

    -nomissingglstext
    This is a boolean option. If true, this will suppress the warning text that will appear in the document if the external glossary files haven’t been generated due to an incomplete document build. However, it’s probably simpler just to fix whatever has caused the failure to build the external file or files.
    -abbreviations
    This option has no value and can’t be cancelled. If used, it will automatically create a new glossary with the label abbreviations and redefines \glsxtrabbrvtype to this label. In addition, it defines a shortcut command -



    \printabbreviations  \printabbreviations[options]

    -

    +

    which is equivalent to

    options]
    The title of the new glossary is given by -



    \abbreviationsname  \abbreviationsname

    -

    +

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

    If you don’t use the

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

    +

    -

    If the

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

    \renewcommand*{\acronymtype}{main}
    -

    -

    Note that there are no analogous options to the

    +

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

    -symbols
    This is passed to glossaries but will additionally define -



    \glsxtrnewsymbol  \glsxtrnewsymbol[options]{}{symbol}

    -

    +

    which is equivalent to

    }
    Note that the sort key is set to the ⟨ key is set to the ⟨label⟩ not the ⟨symbol⟩ as the symbol will likely contain commands.
    -numbers
    This is passed to glossaries but will additionally define -



    \glsxtrnewnumber  \glsxtrnewnumber[options]{number}

    -

    +

    which is equivalent to

    }
    -shortcuts
    Unlike the glossaries package option of the same name, this option isn’t boolean but has multiple values: @@ -1368,18 +1410,33 @@ class="cmss-10">glossaries package option of the same name, this option i -

    Note that multiple invocations of the

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

    -

    After the

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



    \glossariesextrasetup  \glossariesextrasetup{options}

    -

    -The abbreviations and docdef options may only be used in the preamble. Additionally, -docdef can’t be used after

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

    -

    -

    +

    Top

    2. Modifications to Existing Commands and Styles

    -

    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 undefaction) are changed to take the undefaction option into account. -

    The

    The \newignoredglossary{type} command now (as from v1.11) has a starred version that doesn’t automatically switch off the hyperlinks. This starred version may -be used with the targeturltargeturl attribute to create a link to an external URL. (See §5 @@ -1492,18 +1554,18 @@ href="#sec:categories">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, \glsdisablehyper this doesn’t switch off hyperlinks any cross-references within the glossary won’t be affected. This is a way of avoiding duplicate target warnings if a glossary needs to be displayed multiple times. -

    The

    The \newglossaryentry command has three new keys:

    -

    The test file

    The test file example-glossaries-xr.tex contains dummy entries with a mixture of seealias and seealso keys for use with minimal working examples. -

    The

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

    \leavevmode\unskip\nopostdesc
    -

    at the end of the description field. -


    at the end of the description field. +


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

    -

    +

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

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

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



    \glsxtrpostlongdescription  \glsxtrpostlongdescription

    -

    +

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

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

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

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

    The unstarred version also alters the base

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

    Note that this modified unstarred version doesn’t append

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

    The

    The \newterm command (defined through the index§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 @@ -1661,20 +1723,21 @@ 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. -

    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 docdefdocdef option).
    -

    -

    You will need at least version 2.20 of

    +

    You will need at least version 2.20 of makeglossaries or at least version 1.3 of @@ -1692,10 +1755,10 @@ class="cmtt-10">]. Alternatively, use the class="cmss-10">automake option.

    -

    Top

    2.1 Entry Indexing

    -

    The

    The glossaries-extra package provides extra keys for commands like \gls and first use might not be the most pertinent use. (If you want to apply indexonlyfirst to selected entries, rather than all of them, you - can use the indexonlyfirstindexonlyfirst attribute, see §5 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: @@ -1778,16 +1842,17 @@ 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 wrgloss

    This means you can set the wrgloss attribute to after to automatically use this as the default for entries with that category attribute. (Note that adding @@ -1800,22 +1865,22 @@ class="cmtt-10">\GlsXtrSetDefaultGlsOpts\glsxtrinitwrgloss.)

    -

    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 @@ -1841,7 +1906,7 @@ class="cmtt-10">\gls or \glslink. Remember that the value will still need to be a valid location according to the rules of whichever indexing application you use. -

    For example, suppose the file

    For example, suppose the file suppl.tex contains: @@ -1858,7 +1923,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}

    -

    (By placing

    (By placing \glsadd at the end of the document, it adds the supplementary location to the end of the location list, although the ordering may be changed by the indexing application depending on its location collation settings.) -

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

    If you want hyperlinks, things are more complicated. First you need to set the +externallocation to the location of the PDF file. For example: @@ -1896,7 +1962,7 @@ class="cmss-10">externallocation\newglossaryentry{sample}{category=supplemental,  
     name={sample},description={an example}}

    -

    Next you need to add

    Next you need to add glsxtrsupphypernumber as the format: @@ -1905,7 +1971,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.
    -

    -

    +

    +

    -

    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, @@ -1962,19 +2028,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 indexcrossrefsindexcrossrefs 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

    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 nonumberlist. This @@ -2059,7 +2126,7 @@ class="cmss-10">see 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: @@ -2074,11 +2141,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: @@ -2135,20 +2202,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 @@ -2174,20 +2241,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 @@ -2235,7 +2302,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 glossaries-extra to test for regular entries, which are determined as follows:

    -

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

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

    As from version 1.04,

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



    \glsxtrregularfont  \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 @@ -2339,7 +2409,7 @@ class="cmtt-10">\glsxtrregularfont. This is more precise than changing \glstextformat which will be applied to all linking commands for all entries. -

    For example: +

    For example: @@ -2347,7 +2417,7 @@ class="cmtt-10">\glstextformat \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: @@ -2358,7 +2428,7 @@ category: \renewcommand*{\glsxtrregularfont}[1]{%  
     \glsifcategory{\glslabel}{general}{\textsf{#1}}{#1}}

    -

    or query the category attribute: +

    or query the category attribute: @@ -2368,7 +2438,7 @@ category:  
    \renewcommand*{\glsxtrregularfont}[1]{%  
     \glsifattribute{\glslabel}{font}{sf}{\textsf{#1}}{#1}}

    -

    or use the attribute to store the control sequence name: +

    or use the attribute to store the control sequence name: @@ -2382,8 +2452,9 @@ category:  
      {#1}%  
    }

    -

    (Remember the category and attribute settings will only queried here for regular

    (Remember the category and attribute settings will only queried here for regular entries, so if the abbreviation style for the acronymacronym\glsxtrregularfont will no longer apply.) -

    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

    +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 @@ -2436,8 +2508,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 @@ -2535,7 +2607,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\gls-like commands on first use.) However, the -short-postfootnoteshort-postfootnote style alters \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 short-postfootnote

    +

    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: @@ -2601,7 +2675,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. -

    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: @@ -2660,7 +2734,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 @@ -2671,17 +2745,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 @@ -2705,8 +2779,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 @@ -2798,7 +2872,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 @@ -2808,17 +2882,18 @@ 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

    -

    The

    The \glsenableentrycount command is modified to allow for the entrycount command is modified to allow for the entrycount attribute. This means that you not only need to enable entry counting with §5 Categories). -

    For example, instead of just doing: +

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

    \glsenableentrycount
    -

    you now need to do: +

    you now need to do: @@ -2844,21 +2919,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 sets 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:

      @@ -2963,7 +3038,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 \glsxtrscsuffix which is defined -as: - - - -

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

    So if you want to completely strip all the plural suffixes used for abbreviations then -you need to redefine \glsxtrscsuffix, so if you want to +completely strip all the plural suffixes used for abbreviations then you need to +redefine \glsxtrabbrvpluralsuffix not \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 -attributes that affect the short plural suffix formation. The first is aposplural\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 +attributes that affect the short plural suffix formation. The first is aposplural which uses the suffix

    -
    +
    '\abbrvpluralsuffix
    -

    That is, an apostrophe followed by

    That is, an apostrophe followed by \abbrvpluralsuffix is appended. The second -attribute is noshortpluralnoshortplural which suppresses the suffix and simply sets shortplural to the same as short. -

    +

    -

    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:

    -
    +
    \newacronym{ssi}{SSI}{Server Side Includes}  
    \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

      -
      +
      \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 @@ -3144,41 +3213,41 @@ 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:

      -
      +
      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: @@ -3186,10 +3255,10 @@ 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 @@ -3201,7 +3270,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: @@ -3209,13 +3278,13 @@ 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 -

    +
    \newacronym  
     [description={\acrshort{ssi} enabled \acrshort{html}}]  
     {shtml}{SHTML}{SSI enabled HTML}
    -

    with

    with glossaries or:

    -
    +
    \newabbreviation  
     [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:

    -
    +
    \setabbreviationstyle{long-short-sc}  
    \newabbreviation{ssi}{ssi}{server-side includes}  
    \newabbreviation{html}{html}{hypertext markup language}  
    \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

    -
    +
    {\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 sort key to the short form, so using these commands in the long form but not the short form will only affect entries with a style that sorts according to the long form (such -as long-noshort-desclong-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 long-short

    then (using the long-short style) the first use will be like @@ -3399,31 +3470,31 @@ href="#glo:firstuse">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:

    -
    +
    \newabbreviation{shtml}{SHTML}{\glsxtrshort{ssi} enabled  
    \glsxtrshort{html}}
    -

    then the

    then the 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 @@ -3434,8 +3505,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 @@ -3498,103 +3569,104 @@ class="cmss-10">noindex to true. If you want to change this, you can use -



    \glsxtrsetpopts  \glsxtrsetpopts{options}

    -

    +

    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

    -
    +
    \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:

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

    -

    For example, +

    +

    For example,

    -
    +
    \glsxtrp{short}{ssi}
    -

    is equivalent to +

    is equivalent to

    -
    +
    {\let\glspostlinkhook\relax  
     \glsxtrshort[hyper=false,noindex]{ssi}[]%  
    }
    -

    in the main body of the document or +

    in the main body of the document or

    -
    +
    {\let\glspostlinkhook\relax  
     \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

    -
    +
    {\glsxtrheadshort{ssi}}
    -

    (which recognises the headuc

    (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

    -
    +
    \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:

    -
    +
    \documentclass{report}  
    \usepackage[utf8]{inputenc}  
    \usepackage[T1]{fontenc} @@ -3677,16 +3749,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

    -
    +
    \setabbreviationstyle[acronym]{long-short}
    -

    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

    -
    +
    \documentclass{article}  
    \usepackage[acronym,nopostdot,toc]{glossaries}  
    \makeglossaries @@ -3725,13 +3797,13 @@ class="cmss-10">glossaries  
    \printglossaries  
    \end{document}
    -

    can be easily adapted to use

    can be easily adapted to use glossaries-extra:

    -
    +
    \documentclass{article}  
    \usepackage[acronym]{glossaries-extra}  
    \makeglossaries @@ -3742,7 +3814,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


    @@ -3781,33 +3853,36 @@ cellspacing="0" cellpadding="0" id="TBL-2-1" />

    Old Style Name

    New Style Name

    long-sc-short

    long-short-sc

    long-short-sc

    long-sm-short

    long-short-sm

    long-short-sm

    long-sp-short

    long-short

    long-short
    with \renewcommand#1}}

    short-long

    short-long

    short-long

    sc-short-long

    short-sc-long

    short-sc-long

    sm-short-long

    short-sm-long

    short-sm-long

    long-short-desc

    long-short-desc

    long-short-desc

    long-sc-short-desc

    long-short-sc-desc

    long-short-sc-desc

    long-sm-short-desc

    long-short-sm-desc

    long-short-sm-desc

    long-sp-short-desc

    long-short-desc

    long-short-desc
    with \renewcommand#1}}

    short-long-desc

    short-long-desc

    short-long-desc

    sc-short-long-desc

    short-sc-long-desc

    short-sc-long-desc

    sm-short-long-desc

    short-sm-long-desc

    short-sm-long-desc

    dua

    long-noshort

    long-noshort

    dua-desc

    long-noshort-desc

    long-noshort-desc

    footnote

    short-footnote

    short-footnote

    footnote-sc

    short-sc-footnote

    short-sc-footnote

    footnote-sm

    short-sm-footnote

    short-sm-footnote

    footnote-desc

    short-footnote-desc

    short-footnote-desc

    footnote-sc-desc

    short-sc-footnote-desc

    short-sc-footnote-desc

    footnote-sm-desc

    short-sm-footnote-desc

    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 @@ -3989,15 +4082,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 @@ -4007,7 +4100,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 long-short (such as long-short) can easily be changed to use \glsacspace with @@ -4068,47 +4162,47 @@ class="cmtt-10">\glsacspace with

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

    -

    The

    +

    The first use acronym font command -



    \firstacronymfont{text}

    -

    +

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

    The subsequent use acronym font command -


    The subsequent use acronym font command +


    \acronymfont{text}

    -

    +

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

    -

    Top

    2.8 Glossary Style Modifications

    -

    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 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:

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

    -

    +

    +

    -

    Top

    2.8.1 Style Hooks

    -

    The commands

    The commands \glossentryname and \glossentrydesc are modified to take into -account the glossname, glossdesc and glossdescfontglossname, glossdesc and glossdescfont attributes (see §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

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



    \glsxtrpostnamehook  \glsxtrpostnamehook{label}

    -

    -By default this checks the indexname

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



    \glsxtrdoautoindexname{}{indexname}

    -

    +

    See §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 \glsxtrpostname -

    +
    \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 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 ⟨general\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 @@ -4268,14 +4366,14 @@ 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 glossaries-extra-stylemods Package

    -

    +

    +

    -

    Top

    2.8.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 nonumberlist\glossaryentrynumbers so that it doesn’t display th id="dx1-15004">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 @@ -4360,31 +4458,31 @@ 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.8.3 The glossaries-extra-stylemods Package

    -

    As from v1.02,

    As from v1.02, glossaries-extra now includes the package glossaries-extra-stylemods that @@ -4396,12 +4494,12 @@ class="cmss-10">glossaries-extra. For example:

    -
    +
    \usepackage{glossaries-extra}  
    \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{glossaries-extra}  
    \usepackage[longragged]{glossaries-extra-stylemods}
    -

    Another option is to use the stylemods

    Another option is to use the stylemods key when you load glossaries-extra. You can omit a value if you only want to use the predefined styles that are automatically @@ -4430,30 +4529,31 @@ class="cmss-10">long3col -

    +
    \usepackage[style=long3col,stylemods]{glossaries-extra}
    -

    Or the value of stylemods

    Or the value of stylemods may be a comma-separated list of the style package 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:

    -
    +
    \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 inlinenopostdot option, but the post-description category hook can still be used. -

    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. -



    \eglssetwidest  level]{name}

    -

    +

    This is like \glssetwidest (provided by glossary-tree) 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. -

    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 alttree



    \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  }

    -

    +

    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 @@ -4801,10 +4901,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 overridden in ⟨options⟩. The category may have attributes that modify the way -abbreviations are defined. For example, the insertdotsinsertdots attribute will automatically insert full stops (periods) into ⟨short⟩ or the noshortpluralshort⟩ or the noshortplural attribute will set the default value of the shortplural§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 @@ -4868,7 +4970,7 @@ class="cmtt-10">acronym (see also href="#sec:acronymmods">§2.7 Acronym Style Modifications) so -



    \newacronym  short}{long}

    -

    +

    is now equivalent @@ -4907,17 +5009,19 @@ class="cmtt-10">}
    -

    The

    The \newabbreviation command is superficially similar to the glossaries package’s \newacronym but you can apply different styles to different categories. The -default style is short-nolongshort-nolong for entries in the acronym category and short-long category and short-long for entries in the abbreviationabbreviationglossaries package, although they may produce similar results.) -

    The short form is displayed within commands like \gls using -


    \glsfirstabbrvfont

    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 +first use by commands like \gls and the inline full form, which is used by +commands like \glsxtrfull. For some of the abbreviation styles, such as +long-short, the display and inline forms are the same. In the case of styles +such as short-nolong or short-footnote, the display and inline full forms are +different. +

    These formatting commands aren’t stored in the short, shortplural, long or +longplural fields, which means they won’t be used within commands like +\glsentryshort (but they are used within commands like \glsxtrshort and +\glsfmtshort). Note that \glsxtrlong and the case-changing variants don’t use +\glsfirstlongfont. +

    +

    Top

    3.1 Tagging Initials

    +

    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  \glsfirstabbrvfont{short-form \GlsXtrEnableInitialTagging{categories} +{cs}

    -

    -on first use and -


    \glsabbrvfont  \glsabbrvfont{short-form}

    -

    -for subsequent use. -

    These commands (\glsfirstabbrvfont and \glsabbrvfont) are reset by the -abbreviation styles and whenever an abbreviation is used by commands like \gls -(but not by commands like \glsentryshort) so don’t try redefining them outside of -an abbreviation style.
    -

    -

    If you use the long-short style, \glsabbrvfont is redefine to use -


    \glsabbrvdefaultfont  \glsabbrvdefaultfont{text}

    -

    -whereas the long-short-sc style redefines \glsabbrvfont to use \glsxtrscfont. If -you want to use a different font-changing command you can either redefine -\glsabbrvdefaultfont and use one of the base styles, such as long-short, or define a -new style in a similar manner to the “sc”, “sm” or “em” styles. -

    Similarly the basic styles redefine \glsfirstabbrvfont to use -


    \glsfirstabbrvdefaultfont  \glsfirstabbrvdefaultfont{short-form} -

    -

    -whereas the font modifier styles, such as long-short-sc, use their own custom -command, such as \glsfirstscfont. -

    The commands that display the full form for abbreviations use \glsfirstabbrvfont -to display the short form and -


    \glsfirstlongfont  \glsfirstlongfont{long-form}

    -

    -to display the long form on first use or for the inline full format. Commands like -\glsxtrlong use -


    \glslongfont  \glslongfont{long-form}

    -

    -instead. -

    As with \glsabbrvfont, this command is changed by all styles. Currently -all predefined abbreviation styles, except the “long-em” (emphasize long -form) versions, provided by glossaries-extra redefine \glsfirstlongfont to - - - -use -


    \glsfirstlongdefaultfont  \glsfirstlongdefaultfont{long-form} -

    -

    -and \glslongfont to use -


    \glslongdefaultfont  \glslongdefaultfont{long-form}

    -

    -

    You can redefine these command if you want to change the font used by the long -form for all your abbreviations (except for the emphasize-long styles), or you can -define your own abbreviation style that provides a different format for only those -abbreviations defined with that style. -

    The “long-em” (emphasize long) styles use -


    \glsfirstlongemfont  \glsfirstlongemfont{long-form}

    -

    -instead of \glsfirstlongdefaultfont{long-form} and -


    \glslongemfont  \glslongemfont{long-form}

    -

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

    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: - - - -

    -
    -\setabbreviationstyle{long-short} - 
    \renewcommand*{\glsfirstlongdefaultfont}[1]{\emph{#1}} - 
    \glsxtrinsertinsidetrue -
    -

    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 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). -

    There are two types of full forms. The display full form, which is used on -first use by commands like \gls and the inline full form, which is used by -commands like \glsxtrfull. For some of the abbreviation styles, such as -long-short, the display and inline forms are the same. In the case of styles -such as short-nolong or short-footnote, the display and inline full forms are -different. -

    These formatting commands aren’t stored in the short, shortplural, long or -longplural fields, which means they won’t be used within commands like -\glsentryshort (but they are used within commands like \glsxtrshort and -\glsfmtshort). Note that \glsxtrlong and the case-changing variants don’t use -\glsfirstlongfont. -

    -

    Top

    3.1 Tagging Initials

    -

    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  \GlsXtrEnableInitialTagging{categories} -{cs}

    -

    -before you define your abbreviations. -

    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 -the glossary it’s activated for those categories that have the tagging attribute set to -“true”. For those cases it will use -


    \glsxtrtagfont

    +before you define your abbreviations. +

    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 +the glossary it’s activated for those categories that have the 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 version will overwrite any previous definition of ⟨cs⟩. As with redefining any +commands, ensure that you don’t redefine something important. In fact, just -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 taggingtagging attribute will automatically be set for those categories. You can later set this attribute for other categories (see §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:

    -
    +
    \newacronym  
     [description={a system for detecting the location and  
     speed of ships, aircraft, etc, through the use of radio @@ -5245,17 +5174,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 -entries with the tagging

    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 @@ -5275,20 +5205,23 @@ according to their given category. If there is no style set for the category, th is the style for the abbreviation category. Some styles may automatically modify one or more of the attributes associated with the given category. For -example, the long-noshort and short-nolong styles set the regularlong-noshort and short-nolong styles set the 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

    @@ -5309,7 +5242,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, @@ -5319,7 +5252,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.) -

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

    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 used on first use with \gls. For example, the short-nolong style only displays the +class="cmtt-10">\gls. For example, the short-nolong style only displays the short form on first use, but the full form will display the long form followed by the + id="dx1-19019">first 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  \Glsxtrshort[options]{label}[insert]

    -

    -

    First letter upper case long form: -


    +

    First letter upper case long form: +


    \Glsxtrlong  \Glsxtrlong[options]{label}[insert]

    -

    -

    First letter upper case inline full form: -


    +

    First letter upper case inline full form: +


    \Glsxtrfull  \Glsxtrfull[options]{label}[insert]

    -

    -

    All upper case short form: -


    +

    All upper case short form: + + + +


    \Glsxtrshort  \GLSxtrshort[options]{label}[insert]

    -

    -

    All upper case long form: -


    +

    All upper case long form: +


    \Glsxtrlong  \GLSxtrlong[options]{label}[insert]

    - - - -

    -

    All upper case inline full form: -


    +

    All upper case inline full form: +


    \GLSxtrfull  \GLSxtrfull[options]{label}[insert]

    -

    -

    Plural forms are also available. -

    Short form plurals: -


    +

    Plural forms are also available. +

    Short form plurals: +


    \glsxtrshortpl  \glsxtrshortpl[options]{label}[insert]

    -

    -


    +


    \Glsxtrshortpl  \Glsxtrshortpl[options]{label}[insert]

    -

    -


    +


    \GLSxtrshortpl  \GLSxtrshortpl[options]{label}[insert]

    -

    -

    Long form plurals: -


    +

    Long form plurals: +


    \glsxtrlongpl  \glsxtrlongpl[options]{label}[insert]

    -

    -


    +


    \Glsxtrlongpl  \Glsxtrlongpl[options]{label}[insert]

    -

    -


    +


    \GLSxtrlongpl  \GLSxtrlongpl[options]{label}[insert]

    -

    -

    Full form plurals: -


    +

    Full form plurals: +


    \glsxtrfullpl  \glsxtrfullpl[options]{label}[insert]

    -

    -


    +


    \Glsxtrfullpl  \Glsxtrfullpl[options]{label}[insert]

    -

    -


    +


    \GLSxtrfullpl  \GLSxtrfullpl[options]{label}[insert]

    -

    -

    Be careful about using

    +

    Be careful about using \glsentryfull, \Glsentryfull, \glsentryfullpl and @@ -5592,24 +5535,33 @@ class="cmtt-10">\Glsentryfullpl. These commands will use the currently ap than the style in use when the entry was defined. If you have mixed styles, you’ll need to use \glsxtrfull instead. Similarly for instead. Similarly for \glsentryshort etc. -
    -

    -

    +

    +

    +

    -

    Top

    3.3 Shortcut Commands

    -

    The abbreviation shortcut commands can be enabled using the package option -shortcuts=abbreviation (or shortcuts=abbr). This defines the commands listed in +

    The abbreviation shortcut commands can be enabled using the package option +shortcuts=abbreviation (or shortcuts=abbr) or shortcuts=ac. (You can use +both settings at the same time.) The provided shortcut commands listed in table 3.1.

    @@ -5617,7 +5569,7 @@ href="#tab:abbrshortcuts">table 3.1. -


    @@ -5625,194 +5577,316 @@ href="#tab:abbrshortcuts">table 3.1.
    Table 3.1: Abbreviation Shortcut Commands
    +class="content">Abbreviation Shortcut Commands
    + + id="dx1-20009"> + id="dx1-20012"> + id="dx1-20015"> + id="dx1-20018"> + id="dx1-20021"> + id="dx1-20024"> + id="dx1-20027"> + id="dx1-20030"> + + + id="dx1-20039"> + id="dx1-20042"> + id="dx1-20045"> + id="dx1-20048"> + id="dx1-20051"> + id="dx1-20054"> +class="cmtt-10">\AC +class="cmtt-10">\ACP + + + id="dx1-20069"> + id="dx1-20072"> + id="dx1-20075"> + id="dx1-20078">
    ShortcutShortcut Shortcut Equivalent Command
    (shortcuts=abbreviation)(shortcuts=ac)
    \ab \ac \cgls
    \abp \acp \cglspl
    \as \acs \glsxtrshort
    \asp \acsp \glsxtrshortpl
    \al \acl \glsxtrlong
    \alp \aclp \glsxtrlongpl
    \af \acf \glsxtrfull
    \afp \acfp \glsxtrfullpl
    \Ab \Ac \cgls
    \Abp \Acp \cglspl
    \As \Acs \Glsxtrshort
    \Asp \Acsp \Glsxtrshortpl
    \Al \Acl \Glsxtrlong
    \Alp \Aclp \Glsxtrlongpl
    \Af \Acf \Glsxtrfull
    \Afp \Acfp \Glsxtrfullpl
    \AS \AB \GLSxtrshort \cGLS
    \ASP \ABP \GLSxtrshortpl \cGLSpl
    \AS \ACS \GLSxtrshort
    \ASP \ACSP \GLSxtrshortpl
    \AL \ACL \GLSxtrlong
    \ALP \ACLP \GLSxtrlongpl
    \AF \ACF \GLSxtrfull
    \AFP \ACFP \GLSxtrfullpl
    \newabbr \newabbr \newabbreviation
    + id="dx1-20081">

    -

    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 regular

    The regular entry abbreviation styles set the regular attribute to “true” for the category assigned to each abbreviation with that style. This means that on long\glsxtrshort. -

    The other abbreviation styles don’t modify the regular

    The other abbreviation styles don’t modify the regular attribute. The first @@ -5866,14 +5942,17 @@ format (through commands like \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). -

    For the “sc” styles that use

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

    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 @@ -5882,222 +5961,509 @@ class="cmss-10">fontenc package with the T1 option or something similar.
    -

    -

    The “sc” styles all use -


    \glsxtrscfont

    +

    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 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  \glsxtrscfont{ \glslongdefaultfont{text}

    -

    -which is defined as -

    -
    -\newcommand*{\glsxtrscfont}[1]{\textsc{#1}} -
    -

    and +

    +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 long-short-sc and short-sc-long, use


    \glsxtrfirstscfont\glsabbrvscfont  \glsxtrfirstscfont{ \glsabbrvscfont{text}

    -which is defined as - - - -

    -
    -\newcommand*{\glsxtrfirstscfont}[1]{\glsxtrscfont{#1}} -
    -

    The default plural suffix for the short form is set to +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 \glslongdefaultfont or +\glsfirstlongdefaultfont, as with the basic style. The suffix is given +by +


    \glsxtrscsuffix  \glsxtrscsuffix

    -

    -This just defined as +

    +This is defined as

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

    The

    The \glstextup command is provided by command is provided by glossaries and is used to switch off the small caps font for the suffix. If you override the default short plural using the shortplural key when you define the abbreviation you will need to make the + id="dx1-21042"> key when you define the abbreviation you will need to make the appropriate adjustment if necessary. (Remember that the default plural suffix -behaviour can be modified through the use of the aposplural and noshortplural +behaviour can be modified through the use of the aposplural and noshortplural attributes. See §5 Categories for further details.) -

    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 -uppercase, you won’t get small capitals unless you redefine \glsxtrscfont to convert -its argument to lowercase. For example: - - - -

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

    -

    The “sm” styles all use -


    \glsxtrsmfont

    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 \glslongdefaultfont or +\glsfirstlongdefaultfont, as with the basic style. The suffix is given +by +


    \glsxtrsmsuffix  \glsxtrsmfont{ \glsxtrsmsuffix

    +

    +which defaults to just \glsxtrabbrvpluralsuffix. +

    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}

    -

    -This is defined as: +

    +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 long-em-short-em or short-em-long-em, +use +


    \glsfirstlongemfont  \glsfirstlongemfont{long-form}

    +

    +instead of \glsfirstlongdefaultfont{long-form} and +


    \glslongemfont  \glslongemfont{long-form}

    -

    -
    -\newcommand*{\glsxtrsmfont}[1]{\textsmaller{#1}} -
    -

    and -


    \glsxtrfirstsmfont

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

    The user styles have similar commands: +


    \glsabbrvuserfont  \glsxtrfirstsmfont{ \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: +


    \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 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  \glsfirstlongonlyfont{text}

    -

    -which is defined as -

    -
    -\newcommand*{\glsxtrfirstsmfont}[1]{\glsxtrsmfont{#1}} -
    -

    If you want to use this style, you must explicitly load the relsize package which -defines the \textsmaller command. If you want to easily switch between the “sc” -and “sm” styles, you may find it easier to redefine this command to convert to upper -case: +

    +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 +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:

    -
    -\renewcommand*{\glsxtrsmfont}[1]{\textsmaller{\MakeTextUppercase{#1}}} +
    +\setabbreviationstyle{long-short} + 
    \renewcommand*{\glsfirstlongdefaultfont}[1]{\emph{#1}} + 
    \glsxtrinsertinsidetrue
    -

    The default plural suffix for the short form is set to -


    \glsxtrsmsuffix  \glsxtrsmsuffix

    -

    -This just does \glspluralsuffix. -

    The “em” styles all use -


    \glsabbrvemfont  \glsabbrvemfont{text}

    -

    -which is defined as: +

    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 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 \textsc renders lowercase letters as small capitals. Uppercase +letters are rendered as normal uppercase letters, so if you specify the short form in +uppercase, you won’t get small capitals unless you redefine \glsabbrvscfont to +convert its argument to lowercase. For example:

    -
    -\newcommand*{\glsabbrvemfont}[1]{\emph{#1}} +
    +\renewcommand*{\glsabbrvscfont}[1]{\textsc{\MakeLowercase{#1}}}
    -

    and -


    \glsfirstabbrvemfont  \glsfirstabbrvemfont{text}

    -

    -which is defined as: +

    +

    If you want to easily switch between the “sc” and “sm” styles, you may find it +easier to redefine this command to convert case:

    -
    -\newcommand*{\glsfirstabbrvemfont}[1]{\glsabbrvemfont{#1}} +
    +\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:

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

    or +

    or

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

    -

    The new naming scheme for abbreviation styles is as follows:

    +

    +

    The new naming scheme for abbreviation styles is as follows:

    • field1⟩[-modifier1⟩]--[post]⟨field2⟩[-modifier2⟩][-user] -

      This is for the parenthetical styles. The

      This is for the parenthetical styles. The -modifier⟩ parts may be omitted. These styles display ⟨field2⟩ in parentheses. If ⟨field2⟩ starts with “no” then the parenthetical element is omitted from the display style but is included in the inline style. -

      If the

      If the -modifier⟩ part is present, then the field has a font changing command applied to it. -

      If the

      If post is present then ⟨field2⟩ is placed after the link-text using the + post-link hook. +

      If the -user part is present, then the user1 value, if provided, is inserted + id="dx1-21080"> value, if provided, is inserted into the parenthetical material . (The field used for the inserted material may be changed.) -

      Examples:

      +

      Examples:

        -
      • long-noshort-sc: ⟨long-noshort-sc: ⟨field1⟩ is the long form, the short form is set in smallcaps but omitted in the display style.
      • -
      • long-em-short-em: both the long form and the short form are +
      • long-em-short-em: both the long form and the short form are emphasized. The short form is in parentheses.
      • -
      • long-short-em: the short form is emphasized but not the long form. +
      • long-short-em: the short form is emphasized but not the long form. The short form is in parentheses.
      • -
      • long-short-user: if the long-short-user: if the user1 key has been set, this produces the style + id="dx1-21085"> key has been set, this produces the style ⟨long⟩ (⟨short⟩, ⟨user1⟩) otherwise it just produces ⟨long⟩ (⟨short⟩).
      +class="cmti-10">short⟩). +
    • +
    • long-hyphen-postshort-hyphen: the short form and the inserted + material (provided by the final optional argument of commands like + \gls) is moved to the post-link hook. The long form is formatted + according to \glslonghyphenfont (or \glsfirstlonghyphenfont + on first use). The short form is formatted according to + \glsabbrvhyphenfont (or \glsfirstabbrvhyphenfont on first + use).
    + + +
  • style-noreg +

    Some styles set the regular attribute. In some cases, there’s a version of the + style that doesn’t set this attribute. For example, long-em-noshort-em sets the + regular attribute. The long-em-noshort-em-noreg style is a minor variation that + style that doesn’t set the attribute. +

    There are a few “noshort” styles, such as long-hyphen-noshort-noreg, that have + “-noreg” version without a regular version. This is because the style won’t work + properly with the regular set, but the naming scheme is maintained for + consistency with the other “noshort” styles. +

  • +
  • field1⟩[-modifier1⟩]-[post]footnote -

    The display style uses ⟨

    The display style uses ⟨field1⟩ followed by a footnote with the other field in it. If post is present then the footnote is placed after the link-text using the post-link hook. The inline style does ⟨field1⟩ followed by the other field in parentheses. -

    If

    If -modifier1⟩ is present, ⟨field1⟩ has a font-changing command applied to it. -

    Examples:

    - - - +

    Examples:

      -
    • short-footnote: short form in the text with the long form in the +
    • short-footnote: short form in the text with the long form in the footnote.
    • -
    • short-sc-postfootnote: short form in smallcaps with the long form in +
    • short-sc-postfootnote: short form in smallcaps with the long form in the footnote outside of the link-text.
    -

    Take care with the footnote styles. Remember that there are some situations + id="dx1-21096">link-text.
  • +

    Take care with the footnote styles. Remember that there are some situations where \footnote doesn’t work.
    -

    + id="dx1-21097"> doesn’t work.

    +

  • style-desc -

    Like ⟨

    Like ⟨style⟩ but the description key must be provided when defining abbreviations + id="dx1-21098"> key must be provided when defining abbreviations with this style. -

    Examples:

    +

    Examples:

    + + +
  • -

    Not all combinations that fit the above syntax are provided. Pre-version 1.04 +

    Not all combinations that fit the above syntax are provided. Pre-version 1.04 styles that didn’t fit this naming scheme are either provided with a synonym (where the former name wasn’t ambiguous) or provided with a deprecated synonym (where the former name was confusing). The deprecated style names generate a warning using: -



    \GlsXtrWarnDeprecatedAbbrStyle  \GlsXtrWarnDeprecatedAbbrStyle {old-name}{new-name}

    -

    +

    where ⟨old-name⟩ is the deprecated name and ⟨new-name⟩ is the preferred name. You can suppress these warnings by redefining this command to do nothing. -

    +

    -

    Top

    3.4.1 Predefined Abbreviation Styles that Set the Regular Attribute

    -

    The following abbreviation styles set the regular

    The following abbreviation styles set the regular attribute to “true” for all categories that have abbreviations defined with any of these styles. - - -

    -short-nolong
    This only displays the short form on long⟩). The long form on its own can be displayed class="cmtt-10">\glsxtrlong.
    -short
    A synonym for short-nolongA synonym for short-nolong.
    -short-sc-nolong
    Like short-nolongLike short-nolong but redefines \glsabbrvfont to use \glsxtrscfont. +class="cmtt-10">\glsabbrvscfont (which defaults to \textsc).
    -short-sc
    A synonym for short-sc-nolongA synonym for short-sc-nolong
    -short-sm-nolong
    Like short-nolongLike short-nolong but redefines \glsabbrvfont to use \glsxtrsmfont. +class="cmtt-10">\glsabbrvsmfont (which defaults to \textsmaller).
    -short-sm
    A synonym for short-sm-nolongA synonym for short-sm-nolong.
    -short-em-nolong
    Like short-nolongLike short-nolong but redefines \glsabbrvfont to use \glsxtremfont\glsabbrvemfont. -
    -
    +short-em
    A synonym for short-em-nolongA synonym for short-em-nolong
    -short-nolong-desc
    Like the short-nolongLike the short-nolong style, but the name is set to the full form and the description must be supplied by the user. You may prefer - to use the short-nolongshort-nolong style with the post-description hook set to display the long form and override the descriptiondescriptionsample-acronym-desc.tex.)
    -short-desc
    A synonym for short-nolong-descA synonym for short-nolong-desc.
    -short-sc-nolong-desc
    Like short-nolongLike short-nolong but redefines \glsabbrvfont to use \glsxtrscfont. +class="cmtt-10">\glsabbrvscfont (which defaults to \textsc).
    -short-sc-desc
    A synonym for short-sc-nolong-descA synonym for short-sc-nolong-desc.
    -short-sm-nolong-desc
    Like short-nolong-descLike short-nolong-desc but redefines \glsabbrvfont to use \glsxtrsmfont. - - - +class="cmtt-10">\glsabbrvsmfont (which defaults to \textsmaller).
    -short-sm-desc
    A synonym for short-sm-nolong-descA synonym for short-sm-nolong-desc.
    -short-em-nolong-desc
    Like short-nolong-descLike short-nolong-desc but redefines \glsabbrvfont to use \glsxtremfont\glsabbrvemfont.
    -short-em-desc
    A synonym for short-em-nolong-descA synonym for short-em-nolong-desc.
    -long-noshort-desc
    This style only displays the long form, regardless of first @@ -6422,7 +6887,7 @@ class="cmtt-10">\glsxtrshortlong⟩ (⟨short⟩). -

    The

    The name and sortlong⟩ (⟨short⟩).

    -long-desc
    A synonym for long-noshort-descA synonym for long-noshort-desc. + + +
    -long-noshort-sc-desc
    Like the long-noshort-descLike the long-noshort-desc style but the short form - (accessed through commands like \glsxtrshort) use \glsxtrscfont) use \glsabbrvscfont. (This style was originally called long-desc-sclong-desc-sc
    -long-noshort-sm-desc
    Like long-noshort-descLike long-noshort-desc but redefines \glsabbrvfont to use \glsxtrsmfont\glsabbrvsmfont. (This style was originally called long-desc-sm. Renamed in version 1.04, but original name retained as a deprecated synonym for backward-compatibility.)
    -long-noshort-em-desc
    Like long-noshort-descLike long-noshort-desc but redefines \glsabbrvfont to - use \glsxtremfont. The long form isn’t emphasized. (This style was + use \glsabbrvemfont. The long form isn’t emphasized. (This style was originally called long-desc-em. Renamed in version 1.04, but original name retained as a deprecated synonym for backward-compatibility.)
    -long-em-noshort-em-desc
    New to version 1.04, like long-noshort-descNew to version 1.04, like long-noshort-desc but - redefines \glsabbrvfont to use \glsxtremfont. The long form uses + redefines \glsabbrvfont to use \glsabbrvemfont. The long form uses \glsfirstlongemfont and \glslongemfont. - - -
    -long-noshort
    This style doesn’t really make sense if you don’t use the short form anywhere in the document, but is provided for completeness. This is - like the long-noshort-desclong-noshort-desc style, but the name and sortdescription is set to the long form.
    -long
    A synonym for long-noshortA synonym for long-noshort
    -long-noshort-sc
    Like the long-noshort style but the short form (accessed - through commands like Like the long-noshort style but the short form (accessed through + commands like \glsxtrshort) use \glsxtrscfont. (This style - was originally called ) use \glsabbrvscfont. (This style was + originally called long-sc. Renamed in version 1.04, but original name + id="dx1-22084">. Renamed in version 1.04, but original name retained as a deprecated synonym for backward-compatibility.)
    -long-noshort-sm
    Like long-noshortLike long-noshort but redefines \glsabbrvfont to use \glsxtrsmfont\glsabbrvsmfont. (This style was originally called long-sm. Renamed in version 1.04, but original name retained as a deprecated synonym for backward-compatibility.)
    -long-noshort-em
    This style is like long-noshortThis style is like long-noshort but redefines \glsabbrvfont to use \glsxtremfont. The long form isn’t emphasized. (This style was - originally called \glsabbrvemfont. The long form isn’t emphasized. (This style + was originally called long-em. Renamed in version 1.04, but original name + id="dx1-22092">. Renamed in version 1.04, but original name retained as a deprecated synonym for backward-compatibility.) + + +
    -long-em-noshort-em
    New to version 1.04, this style is like long-noshortNew to version 1.04, this style is like long-noshort but redefines \glsabbrvfont to use \glsxtremfont\glsabbrvemfont, \glsfirstlongfont to - use \glsfirstlongfont + to use \glsfirstlongemfont and \glslongfont to use \glslongemfont. @@ -6598,20 +7088,29 @@ class="cmtt-10">\gls, but can be obtained using \glsxtrshort. + id="dx1-22097">. The related style long-em-noshort-em-noreg doesn’t + set the regular attribute.
    -

    +

    -

    Top

    3.4.2 Predefined Abbreviation Styles that Don’t Set the Regular Attribute

    -

    The following abbreviation styles will set the regular

    The following abbreviation styles will set the regular attribute to “false” if it has previously been set. If it hasn’t already been set, it’s left unset. Other attributes may also be set, depending on the style.

    -long-short
    On name and sort keys are - - - set to the short form. (The name key additionally includes the font @@ -6637,76 +7133,124 @@ class="cmss-10">description\glsxtrfullsep. If you want to insert material within the parentheses (such as a translation), try the - long-short-userlong-short-user style.
    -long-short-sc
    Like long-shortLike long-short but redefines \glsabbrvfont to use \glsxtrscfont\glsabbrvscfont.
    -long-short-sm
    Like long-shortLike long-short but redefines \glsabbrvfont to use \glsxtrsmfont\glsabbrvsmfont.
    -long-short-em
    Like long-shortLike long-short but redefines \glsabbrvfont to use \glsxtremfont\glsabbrvemfont.
    -long-em-short-em
    New to version 1.04, this style is like long-short-emNew to version 1.04, this style is like long-short-em but redefines \glsfirstlongfont to use \glsfirstlongemfont.
    -long-short-userlong-only-short-only
    This style was introduced in version 1.04. It’s like the long-short style +class="description">New to version 1.17, this style only shows the long form + on first use and only shows the short form on subsequent use. The inline + full form \glsxtrfull shows the long form followed by the short form in + parentheses. + + + +
    +long-only-short-only-desc
    New to version 1.17, this style is like + long-only-short-only but the user must supply the description. +
    +long-em-noshort-em-noreg
    New to version 1.17, this style is like + long-em-noshort-em but doesn’t set the regular attribute. +
    +long-short-user
    This style was introduced in version 1.04. It’s like the long-short style but additional information can be inserted into the parenthetical material. This checks the value of the field given by -



    \glsxtruserfield  \glsxtruserfield

    -

    +

    (which defaults to useri) using \ifglshasfield (provided by (provided by glossaries). If the - field hasn’t been set, the style behaves like the long-short style and produces + field hasn’t been set, the style behaves like the long-short style and produces ⟨long⟩ (⟨short⟩) but if the field has been set, the contents of that field are inserted @@ -6715,431 +7259,546 @@ class="cmti-10">long⟩ (⟨short⟩, ⟨field-value⟩). The format is governed by -



    \glsxtruserparen  \glsxtruserparen{text}{label}

    -

    +

    where ⟨text⟩ is the short form (for the long-short-user style) or the long form (for - the short-long-user style). This command first inserts a space using +class="cmti-10">text⟩ is the short form (for the long-short-user style) or the long form (for + the short-long-user style). This command first inserts a space using \glsxtrfullsep and then the parenthetical content. The ⟨text⟩ argument - includes the font formatting command, \glsfirstabbrvfont{\glsxtrfullsep and then the parenthetical content (using \glsxtrparen). +

    The ⟨text⟩ argument includes the font formatting command, \glsfirstabbrvfont + {short} in the - case of the long-short-user style and } in the case of the long-short-user style and \glsfirstlongfont{long} in the case of - the short-long-user style. -

    For example: +class="cmtt-10">} + in the case of the short-long-user style. +

    For example:

    -
    +
    \setabbreviationstyle[acronym]{long-short-user}  
    \newacronym{tug}{TUG}{\TeX\ User Group}  
    \newacronym  
     [user1={German Speaking \TeX\ User Group}]  
     {dante}{DANTE}{Deutschsprachige Anwendervereinigung \TeX\ e.V}
    -

    On first use,

    On first use, \gls{tug} will appear as:

    -

    T

    TEX User Group (TUG)

    -

    whereas

    whereas \gls{dante} will appear as:

    -

    Deutschsprachige Anwendervereinigung T

    Deutschsprachige Anwendervereinigung TEX e.V (DANTE, German Speaking TEX User Group)

    -

    The short form is formatted according to -


    The short form is formatted according to +


    \glsabbrvuserfont  \glsabbrvuserfont{text}

    -

    +

    and the plural suffix is given by -



    \glsxtrusersuffix  \glsxtrusersuffix

    -

    -

    These may be redefined as appropriate. For example, if you want a smallcaps - style, you can just set these commands to those used by the long-short-sc +

    +

    These may be redefined as appropriate. For example, if you want a smallcaps + style, you can just set these commands to those used by the long-short-sc style:

    -
    - \renewcommand{\glsabbruserfont}[1]{\glsxtrscfont{#1}} +
    + \renewcommand{\glsabbruserfont}[1]{\glsabbrvscfont{#1}}  
    \renewcommand{\glsxtrusersuffix}{\glsxtrscsuffix}
    -

    +

    -long-noshort-noreg
    This style is like long-noshort but it doesn’t set the regular + attribute. +
    +long-noshort-desc-noreg
    This style is like long-noshort-desc but it doesn’t set the + regular attribute. +
    +long-short-desc
    On first use, this style uses the format ⟨long⟩ (⟨short⟩). The inline and display full forms are the same. The name is set to the full + id="dx1-23049"> is set to the full form. The sort key is set to ⟨ key is set to ⟨long⟩ (⟨short⟩). Before version 1.04, this was incorrectly set to the short form. If you want to revert back to this you can redefine -



    \glsxtrlongshortdescsort  \glsxtrlongshortdescsort

    -

    +

    For example:

    -
    +
    \renewcommand*{\glsxtrlongshortdescsort}{\the\glsshorttok}
    -

    The

    The description must be supplied by the user. The long and short forms are + id="dx1-23052"> must be supplied by the user. The long and short forms are separated by \glsxtrfullsep.

    -long-short-sc-desc
    Like long-short-desc but redefines
    Like long-short-desc but redefines \glsabbrvfont to use \glsxtrscfont. +class="cmtt-10">\glsabbrvscfont.
    -long-short-sm-desc
    Like long-short-desc but redefines
    Like long-short-desc but redefines \glsabbrvfont to use \glsxtrsmfont. +class="cmtt-10">\glsabbrvsmfont.
    -long-short-em-desc
    Like long-short-desc but redefines
    Like long-short-desc but redefines \glsabbrvfont to use \glsxtremfont. +class="cmtt-10">\glsabbrvemfont.
    -long-em-short-em-desc
    New to version 1.04, this style is like long-short-em-desc but + id="dx1-23062">
    New to version 1.04, this style is like long-short-em-desc but redefines \glsfirstlongfont to use \glsfirstlongemfont. + id="dx1-23064">.
    -long-em-noshort-em-desc-noreg
    New to version 1.17, this style is like + long-em-noshort-em-desc but doesn’t set the regular attribute. +
    +long-short-user-desc
    New to version 1.04, this style is like a cross between the - long-short-desc style and the long-short-user style. The display and inline forms - are as for long-short-user and the long-short-desc style and the long-short-user style. The display and inline forms + are as for long-short-user and the name key is as long-short-desc. The key is as long-short-desc. The description + id="dx1-23074"> key must be supplied in the optional argument of \newabbreviation (or \newacronym). The sort key is set to ⟨ key is set to ⟨long⟩ (⟨short⟩) as per the long-short-desc +class="cmti-10">short⟩) as per the long-short-desc style.
    -short-nolong-noreg
    This is like short-nolong but doesn’t set the regular attribute. +
    +short-long
    On first use, this style uses the format ⟨short⟩ (⟨long⟩). The inline and display full forms are the same. The name and and sort keys are set to the + id="dx1-23083"> keys are set to the short form. The description is set to the long form. The short and long + id="dx1-23084"> is set to the long form. The short and long forms are separated by \glsxtrfullsep. If you want to insert material - within the parentheses (such as a translation), try the short-long-user + within the parentheses (such as a translation), try the short-long-user style. + + +
    -short-sc-long
    Like short-long but redefines
    Like short-long but redefines \glsabbrvfont to use \glsxtrscfont. +class="cmtt-10">\glsabbrvscfont.
    -short-sm-long
    Like short-long but redefines
    Like short-long but redefines \glsabbrvfont to use \glsxtrsmfont. - - - +class="cmtt-10">\glsabbrvsmfont.
    -short-em-long
    Like short-long but redefines
    Like short-long but redefines \glsabbrvfont to use \glsxtremfont. +class="cmtt-10">\glsabbrvemfont.
    -short-em-long-em
    New to version 1.04, this style is like short-em-long but redefines + id="dx1-23095">
    New to version 1.04, this style is like short-em-long but redefines \glsfirstlongfont to use \glsfirstlongemfont. + id="dx1-23097">.
    -short-long-user
    New to version 1.04. This style is like the long-short-user + id="dx1-23098">
    New to version 1.04. This style is like the long-short-user style but with the long and short forms switched. The parenthetical material is governed by the same command \glsxtruserparen, but + id="dx1-23100">, but the first argument supplied to it is the long form instead of the short form.
    -short-nolong-desc-noreg
    This style is like short-nolong-desc but it doesn’t set the + regular attribute. +
    +short-long-desc
    On first use, this style uses the format ⟨short⟩ (⟨long⟩). The inline and display full forms are the same. The name is set to the full form. The is set to the full form. The description + id="dx1-23107"> must be supplied by the user. The short and long forms are separated by \glsxtrfullsep.
    -short-sc-long-desc
    Like short-long-desc but redefines
    Like short-long-desc but redefines \glsabbrvfont to use \glsxtrscfont. +class="cmtt-10">\glsabbrvscfont.
    -short-sm-long-desc
    Like short-long-desc but redefines
    Like short-long-desc but redefines \glsabbrvfont to use \glsxtrsmfont. +class="cmtt-10">\glsabbrvsmfont.
    -short-em-long-desc
    Like short-long-desc but redefines
    Like short-long-desc but redefines \glsabbrvfont to use \glsxtremfont. +class="cmtt-10">\glsabbrvemfont.
    -short-em-long-em-desc
    New to version 1.04, this style is like short-em-long-desc but + id="dx1-23117">
    New to version 1.04, this style is like short-em-long-desc but redefines \glsfirstlongfont to use \glsfirstlongemfont. + id="dx1-23119">.
    -short-long-user-desc
    New to version 1.04, this style is like a cross between the - short-long-desc style and the short-long-user style. The display and inline forms - are as for short-long-user and the short-long-desc style and the short-long-user style. The display and inline forms + are as for short-long-user and the name key is as short-long-desc. The key is as short-long-desc. The description + id="dx1-23126"> + + + key must be supplied in the optional argument of \newabbreviation (or \newacronym).
    -short-footnote
    On first use, this style displays the short form with the long form as - a footnote. This style automatically sets the nohyperfirst attribute to “true” for + id="dx1-23128">first use, this style displays the short form with the long form as + a footnote. This style automatically sets the nohyperfirst attribute to “true” for the supplied category, so the first use won’t be hyperlinked (but the footnote + id="dx1-23130">first use won’t be hyperlinked (but the footnote marker may be, if the hyperref package is used). - - - -

    The inline full form uses the ⟨ package is used). +

    The inline full form uses the ⟨short⟩ (⟨long⟩) style. The name is set to the short + id="dx1-23132"> is set to the short form. The description is set to the long form. -

    As from version 1.05, all the footnote styles use: -


    is set to the long form. +

    As from version 1.05, all the footnote styles use: +


    \glsfirstlongfootnotefont  \glsfirstlongfootnotefont{text}

    -

    +

    to format the long form on first use or for the full form and -


    first use or for the full form and +


    \glslongfootnotefont  \glslongfootnotefont{text}

    -

    +

    to format the long form elsewhere (for example, when used with \glsxtrlong). -

    As from version 1.07, all the footnote styles use: -


    As from version 1.07, all the footnote styles use: +


    \glsxtrabbrvfootnote  \glsxtrabbrvfootnote{label}{long}

    -

    +

    By default, this just does \footnote{long} (the first argument is ignored). For @@ -7149,22 +7808,22 @@ class="cmtt-10">} (the first argument is ignored). For

    -
    +
    \renewcommand{\glsxtrabbrvfootnote}[2]{%  
      \footnote{\glshyperlink[#2]{#1}}%  
    }
    -

    or to include the short form with a hyperlink: +

    or to include the short form with a hyperlink:

    -
    +
    \renewcommand{\glsxtrabbrvfootnote}[2]{%  
      \footnote{\glshyperlink[\glsfmtshort{#1}]{#1}: #2}%  
    }
    -

    Note that I haven’t used commands like

    Note that I haven’t used commands like \glsxtrshort to avoid interference (see §2.6 Nested Links).

    -footnote
    A synonym for short-footnote. + id="dx1-23139">
    A synonym for short-footnote.
    -short-sc-footnote
    Like short-footnote but redefines
    Like short-footnote but redefines \glsabbrvfont to use \glsxtrscfont. (This style was originally called \glsabbrvscfont. (This style was originally called footnote-sc. Renamed in + id="dx1-23144">. Renamed in version 1.04, but original name retained as a deprecated synonym for backward-compatibility.)
    -short-sc-footnote
    Like short-footnote but redefines
    Like short-footnote but redefines \glsabbrvfont to use \glsxtrsmfont. (This style was originally called \glsabbrvsmfont. (This style was originally called footnote-sm. Renamed in + id="dx1-23148">. Renamed in version 1.04, but original name retained as a deprecated synonym for backward-compatibility.)
    -short-em-footnote
    Like short-footnote but redefines
    Like short-footnote but redefines \glsabbrvfont to use \glsxtremfont. (This style was originally called \glsabbrvemfont. (This style was originally called footnote-em. Renamed in + id="dx1-23152">. Renamed in version 1.04, but original name retained as a deprecated synonym for backward-compatibility.)
    -short-postfootnote
    This is similar to the short-footnote style but doesn’t modify the + id="dx1-23153">
    This is similar to the short-footnote style but doesn’t modify the category attribute. Instead it changes \glsxtrpostlinkcategory to insert the + id="dx1-23155"> to insert the footnote after the link-text on first use. This will also defer the footnote until after any following punctuation character that’s recognised by \glsxtrifnextpunc. -

    The inline full form uses the ⟨. +

    The inline full form uses the ⟨short⟩ (⟨long⟩) style. The name is set to the short + id="dx1-23159"> is set to the short form. The description is set to the long form. Note that this style will change + id="dx1-23160"> is set to the long form. Note that this style will change \glsxtrfull (and it’s variants) so that it fakes non-first use. (Otherwise the + id="dx1-23161">first use. (Otherwise the footnote would appear after the inline form.)

    -postfootnote
    A synonym for short-postfootnote. + id="dx1-23162">
    A synonym for short-postfootnote.
    -short-sc-postfootnote
    Like short-postfootnote but redefines
    Like short-postfootnote but redefines \glsabbrvfont to use \glsxtrscfont. (This style was originally called \glsabbrvscfont. (This style was originally called postfootnote-sc. Renamed in + id="dx1-23167">. Renamed in version 1.04, but original name retained as a deprecated synonym for backward-compatibility.)
    -short-sm-postfootnote
    Like short-postfootnote but redefines
    Like short-postfootnote but redefines \glsabbrvfont to use \glsxtrsmfont. (This style was originally called \glsabbrvsmfont. (This style was originally called postfootnote-sm. Renamed in - version 1.04, but original name retained as a deprecated synonym for + id="dx1-23171">. Renamed + in version 1.04, but original name retained as a deprecated synonym for backward-compatibility.)
    -short-em-postfootnote
    Like short-postfootnote but redefines
    Like short-postfootnote but redefines \glsabbrvfont to use \glsxtremfont. (This style was originally called \glsabbrvemfont. (This style was originally called postfootnote-em. Renamed in - version 1.04, but original name retained as a deprecated synonym for + id="dx1-23175">. Renamed + in version 1.04, but original name retained as a deprecated synonym for backward-compatibility.)
    -short-postlong-user
    This style was introduced in version 1.12. It’s like the - short-long-user style but defers the parenthetical material to after the + short-long-user style but defers the parenthetical material to after the link-text. This means that you don’t have such a long hyperlink (which can cause problems for the DVI LATEX format) and it also means that the user supplied material can include a hyperlink to another location.
    -short-postlong-user-desc
    This style was introduced in version 1.12. It’s - like the above short-postlong-user style but the short-postlong-user style but the description must be + id="dx1-23180"> must be specified.
    -long-postshort-user
    This style was introduced in version 1.12. It’s like the - above short-postlong-user style but the long form is shown first and - the short form is in the parenthetical material (as for long-short-user) + above short-postlong-user style but the long form is shown first and + the short form is in the parenthetical material (as for long-short-user) style.
    -long-postshort-user-desc
    This style was introduced in version 1.12. It’s - like the above long-postshort-user style but the long-postshort-user style but the description must be + id="dx1-23186"> must be specified. -
    -

    +

    +long-hyphen-short-hyphen
    This style (new to v1.17) is designed to work + with the markwords category attribute. The full form is formatted + using +


    \glsxtrlonghyphenshort  \glsxtrlonghyphenshort{label}{long}{short} + {insert}

    + + + +

    + where ⟨insert⟩ is the inserted material provided in the final optional argument of + commands like \insert. If ⟨insert⟩ start with a hyphen, then this locally + redefines \glsxtrwordsep to a hyphen, which means that if the markwords + attribute is set then the long form will become hyphenated. (If this + attribute isn’t set, there’s no alteration to the way the long form is + displayed.) +

    Unlike the other ⟨long⟩ (⟨short⟩) type of styles, such as long-short, this style also + repeats the insertion in the parenthetical part, so that the first use form + is: +

    +

    \glsfirstlonghyphenfont{long}insert⟩ + (\glsfirstabbrvhyphenfont{short}insert⟩)

    +

    The space before the parenthetical material is actually given by + \glsxtrfullsep{label} which defaults to a space. The ⟨insert⟩ may be + moved into the formatting commands according to the conditional + \ifglsxtrinsertinside. +

    For example, if ip is defined using: + + + +

    +
    + \glssetcategoryattribute{english}{markwords}{true} +  
    \setabbreviationstyle[english]{long-hyphen-short-hyphen} +  
    \newabbreviation[category=english]{ip}{IP}{Internet Protocol} +
    +

    then + + + +

    +
    + \gls{ip}[-Adressen] +
    +

    will do +

    +

    Internet-Protocol-Adressen (IP-Adressen)

    +

    on first use, whereas + + + +

    +
    + \gls{ip}[ Address] +
    +

    will do +

    +

    Internet Protocol Address (IP Address)

    +

    on first use. +

    Note that the hyphenation isn’t applied when using commands like + \glsxtrlong. This means that + + + +

    +
    + \glsxtrlong{ip}[-Adressen] +
    +

    will do +

    +

    Internet Protocol-Adressen

    +
    +

    +

    If the markwords attribute hadn’t been set, then the first use of + + + +

    +
    + \gls{ip}[-Adressen] +
    +

    would do +

    +

    Internet Protocol-Adressen (IP-Adressen)

    +

    instead. +

    If the inserted material ⟨insert⟩ is likely to contain commands like \gls, + then use long-hyphen-postshort-hyphen instead to avoid nested links. +
    +

    +

    If you want the short version in small-caps, you can just redefine + \glsabbrvhyphenfont and \glsxtrhyphensuffix to use the small-caps + versions. For example: + + +

    +
    + \renewcommand{\glsabbrvhyphenfont}{\glsabbrvscfont} +  
    \renewcommand{\glsxtrhyphensuffix}{\glsxtrscsuffix} +
    +

    Similarly for other font-changing variations. +

    +long-hyphen-noshort-desc-noreg
    New to version 1.17, this style is like + long-hyphen-short-hyphen-desc except that the parenthetical part is omitted and + the long form is displayed on subsequent use. The short form can be accessed + with \glsxtrshort but just uses the default abbreviation font. There’s no + regular version of this style as the regular form doesn’t have the flexibility to + deal with the hyphen switch. +
    +long-hyphen-noshort-noreg
    New to version 1.17, this style is like + long-hyphen-noshort-desc-noreg but the name is set to the short form and the + description is set to the long form. +
    +long-hyphen-short-hyphen-desc
    +

    New to version 1.17. This is similar to long-hyphen-short-hyphen but the user + supplies the description. +

    +long-hyphen-postshort-hyphen
    +

    New to version 1.17. This is similar to long-hyphen-short-hyphen but the + inserted and parenthetical material are moved to the post-link hook. On first + use, \gls{label}[insert] will do +
    \glsxtrlonghyphen{long}{label}{insert}\glsxtrposthyphenshort + {label}insert⟩ +
    + where +


    \glsxtrposthyphenshort  \glsxtrposthyphenshort{label}insert⟩ +

    +

    + is in the post-link hook. This uses the format: +
    insert⟩ (\glsfirstabbrvhyphenfont{short}isnert⟩) +
    + + + +

    The singular short form is always used here, even with \glspl. (Unlike + long-hyphen-long-hyphen.)
    +

    +

    The part in the link-text on first use: +


    \glsxtrlonghyphen  \glsxtrlonghyphen{long}{label}{insert} +

    +

    + checks if ⟨insert⟩ starts with a hyphen. If it does, then \glsxtrwordsep is locally + redefined to a hyphen. This command only uses ⟨insert⟩ to test if it starts with a + hyphen. The actual insertion code isn’t typeset until the post-link hook and it’s + also localised, which means that you can use commands like \gls in ⟨insert⟩ for + this style without causing nested hyperlinks, but only for commands like + \gls. +

    Don’t use \gls in the ⟨insert⟩ part for commands like \glsxtrfull, + \glsxtrshort or \glsxtrlong.
    +

    +

    The inline full display format used by commands like \glsxtrfull + behaves differently to the first use of \gls with this style. It’s better + to use \glsreset{label}\gls{label} if you want to ensure the full + format. +

    +long-hyphen-postshort-hyphen-desc
    +

    New to version 1.17. This is similar to long-hyphen-postshort-hyphen but the + user supplies the description. +

    +short-hyphen-long-hyphen
    This style (new to v1.17) is like long-hyphen-short-hyphen, + except that the short form is displayed first followed by the long form in + parentheses. The full form is formatted using +


    \glsxtrshorthyphenlong  \glsxtrshorthyphenlong{label}{short}{long} + {insert}

    +

    + which behaves in an analogous way to \glsxtrlonghyphenshort. +

    +short-hyphen-long-hyphen-desc
    +

    New to version 1.17. This is similar to short-hyphen-long-hyphen but the user + supplies the description. -

    +short-hyphen-postlong-hyphen
    This style (new to v1.17) is like + long-hyphen-postshort-hyphen, but the short form is displayed first followed by + the long form in parentheses. On first use, \gls{label}[insert] will do + +
    \glsxtrshorthyphen{short}{label}{insert}\glsxtrposthyphenlong + {label}insert⟩ +
    + where +


    \glsxtrposthyphenlong  \glsxtrposthyphenlong{label}insert⟩ +

    +

    + is in the post-link hook. These commands behave in an analogous manner to + those used with long-hyphen-postshort-hyphen. +

    Don’t use \gls in the ⟨insert⟩ part for commands like \glsxtrfull, + \glsxtrshort or \glsxtrlong.
    +

    +

    The inline full display format used by commands like \glsxtrfull + behaves differently to the first use of \gls with this style. It’s better + to use \glsreset{label}\gls{label} if you want to ensure the full + format. +

    +short-hyphen-postlong-hyphen-desc
    +

    New to version 1.17. This is similar to short-hyphen-postlong-hyphen but the + user supplies the description. +

    +
    +

    +

    +

    Top

    3.5 Defining New Abbreviation Styles

    -

    New abbreviation styles may be defined using: -


    New abbreviation styles may be defined using: +


    \newabbreviationstyle  }{fmts}

    -

    -

    where ⟨

    +

    where ⟨name⟩ is the name of the new style (as used in the mandatory argument of \setabbreviationstyleglossaries package’s \newacronymstyle command. -

    You can’t use styles defined by

    You can’t use styles defined by \newacronymstyle with glossaries-extra unless you have reverted glossaries package can’t be used with abbreviations defined with \newabbreviation.
    -

    -

    The ⟨

    +

    The ⟨setup⟩ argument deals with the way the entry is defined and may set attributes for the given abbreviation category. This argument should redefine -



    \CustomAbbreviationFields  \CustomAbbreviationFields

    -

    +

    to set the entry fields including the name (defaults to the short form if omitted), @@ -7433,58 +8552,78 @@ class="cmss-10">pluraldescription. -

    \CustomAbbreviationFields is expanded by \newabbreviation so take care to protect commands that shouldn’t be expanded.
    -

    -

    For example, the long-short

    +

    For example, the long-short style has the following in ⟨setup⟩:

    -
    +
      \renewcommand*{\CustomAbbreviationFields}{%  
        name={\protect\glsabbrvfont{\the\glsshorttok}},  
        sort={\the\glsshorttok},  
        first={\protect\glsfirstlongfont{\the\glslongtok}%  
         \protect\glsxtrfullsep{\the\glslabeltok}% - 
         (\protect\glsfirstabbrvfont{\the\glsshorttok})},% + 
         \glsxtrparen{\protect\glsfirstabbrvfont{\the\glsshorttok}}},%  
        firstplural={\protect\glsfirstlongfont{\the\glslongpltok}%  
         \protect\glsxtrfullsep{\the\glslabeltok}% - 
         (\protect\glsfirstabbrvfont{\the\glsshortpltok})},% - 
        plural={\protect\glsabbvfont{\the\glsshortpltok}},% + 
         \glsxtrparen{\protect\glsfirstabbrvfont{\the\glsshortpltok}}},% + 
        plural={\protect\glsabbrvfont{\the\glsshortpltok}},%  
        description={\the\glslongtok}}%
    -

    Note that the

    Note that the first and firstplural are set even though they’re not used by \gls. -

    The ⟨

    The basic styles, such as long-short, use commands like \glsabbrvfont (which are +redefined whenever the style formatting is set) within \CustomAbbreviationFields. +Other styles, such as long-em-short-em directly use their own custom commands, such +as \glsabbrvemfont. With these styles, commands like \glsabbrvfont still need to +be defined as appropriate in the ⟨fmts⟩ argument even if they’re not used within +\CustomAbbreviationFields. +

    The ⟨setup⟩ argument may also redefine -



    \GlsXtrPostNewAbbreviation  \GlsXtrPostNewAbbreviation

    -

    +

    which can be used to assign attributes. (This will automatically be initialised to do nothing.) -

    For example, the short-footnote includes the following in ⟨

    For example, the short-footnote includes the following in ⟨setup⟩:

    -
    +
      \renewcommand*{\GlsXtrPostNewAbbreviation}{%  
        \glssetattribute{\the\glslabeltok}{nohyperfirst}{true}%  
        \glshasattribute{\the\glslabeltok}{regular}% @@ -7494,222 +8633,252 @@ class="cmti-10">setup⟩:  
        {}%  
      }%
    -

    This sets the nohyperfirst attribute to “true”. It also unsets the regular attribute if it -has previously been set. Note that the nohyperfirst attribute doesn’t get unset by +

    This sets the nohyperfirst attribute to “true”. It also unsets the regular attribute if it +has previously been set. Note that the nohyperfirst attribute doesn’t get unset by other styles, so take care not to switch styles for the same category. -

    You can access the short, long, short plural and long plural values through the +

    You can access the short, long, short plural and long plural values through the following token registers. -

    Short value (defined by

    Short value (defined by glossaries): -



    \glsshorttok  \glsshorttok

    -

    -

    Short plural value (defined by

    +

    Short plural value (defined by glossaries-extra): -



    \glsshortpltok  \glsshortpltok

    -

    +

    (This may be the default value or, if provided, the value provided by the user through the shortplural key in the optional argument of key in the optional argument of \newabbreviation.) -

    Long value (defined by .) +

    Long value (defined by glossaries): -



    \glslongtok  \glslongtok

    -

    -

    Long plural value (defined by

    +

    Long plural value (defined by glossaries-extra): -



    \glslongpltok  \glslongpltok

    -

    +

    (This may be the default value or, if provided, the value provided by the user through the longplural key in the optional argument of key in the optional argument of \newabbreviation.) -

    There are two other registers available that are defined by .) +

    The short or long values may be modified by attributes (such as markwords). The +above registers reflect the modification. If you want to access the original +(unmodified) short or long form (as provided in the final two arguments of +\newabbreviation), then use the commands: +


    \glsxtrorgshort  \glsxtrorgshort

    +

    +for the short form and +


    \glsxtrorglong  \glsxtrorglong

    +

    +for the long form. (These may be useful for the sort key to avoid any formatting that + + + +may be added by the attribute setting.) +

    There are two other registers available that are defined by glossaries: -



    \glslabeltok  \glslabeltok

    -

    +

    which contains the entry’s label and -



    \glskeylisttok  \glskeylisttok

    -

    +

    which contains the values provided in the optional argument of \newabbreviation. -

    Remember put . +

    Remember put \the in front of the register command as in the examples above. The category label can be access through the command (not a register): -



    \glscategorylabel  \glscategorylabel

    - - - -

    +

    This may be used inside the definition of \GlsXtrPostNewAbbreviation. -

    If you want to base a style on an existing style, you can use -


    If you want to base a style on an existing style, you can use +


    \GlsXtrUseAbbrStyleSetup  \GlsXtrUseAbbrStyleSetup{name}

    -

    +

    where ⟨name⟩ is the name of the existing style. For example, the short-sc-footnote and -short-sm-footnote styles both simply use +class="cmti-10">name⟩ is the name of the existing style. For example, the long-noshort-sc-desc +style simply does

    -
    -\GlsXtrUseAbbrStyleSetup{short-footnote} +
    +\GlsXtrUseAbbrStyleSetup{long-noshort-desc}
    -

    within ⟨

    within ⟨setup⟩. -

    The ⟨

    The ⟨fmts⟩ argument deals with the way the entry is displayed in the document. -This argument should redefine the following commands: -

    The default suffix for the plural short form (if not overridden by the

    The default suffix for the plural short form (if not overridden by the shortplural + id="dx1-24042"> key): -



    \abbrvpluralsuffix  \abbrvpluralsuffix

    -

    +

    (Note that this isn’t used for the plural long form, which just uses the regular \glspluralsuffix.) -

    The font used for the short form on

    The font used for the short form on first use or in the full forms: -



    \glsfirstabbrvfont  \glsfirstabbrvfont{text}

    -

    -

    The font used for the short form on subsequent use or through commands like +

    +

    The font used for the short form on subsequent use or through commands like \glsxtrshort: -


    : +


    \glsabbrvfont  \glsabbrvfont{text}

    -

    -

    The font used for the long form on first use or in the full forms: -


    +

    The font used for the long form on first use or in the full forms: +


    \glsfirstlongfont  \glsfirstlongfont{text}

    -

    -

    The font used for the long form in commands like

    +

    The font used for the long form in commands like \glsxtrlong use: -



    \glslongfont  \glslongfont{text}

    -

    -

    Display full form singular no case-change (used by

    +

    Display full form singular no case-change (used by \gls on first use for -abbreviations without the regular attribute set): -


    on first use for +abbreviations without the regular attribute set): +


    \glsxtrfullformat  \glsxtrfullformat{label}{insert}

    -

    -

    Display full form singular first letter converted to upper case (used by

    +

    Display full form singular first letter converted to upper case (used by \Gls on + id="dx1-24055"> on first use for abbreviations without the regular attribute set): -


    first use for abbreviations without the regular attribute set): +


    \Glsxtrfullformat  \Glsxtrfullformat{label}{insert}

    -

    -

    Display full form plural no case-change (used by

    +

    Display full form plural no case-change (used by \glspl on first use for -abbreviations without the regular attribute set): -


    on first use for +abbreviations without the regular attribute set): +


    \glsxtrfullplformat  \glsxtrfullplformat{label}{}

    -

    -

    Display full form plural first letter converted to upper case (used by

    +

    Display full form plural first letter converted to upper case (used by \Glspl on + id="dx1-24063"> on first use for abbreviations without the regular attribute set): -


    first use for abbreviations without the regular attribute set): +


    \Glsxtrfullplformat  \Glsxtrfullplformat{label}{insert}

    -

    -

    In addition ⟨

    +

    In addition ⟨fmts⟩ may also redefine the following commands that govern the inline full formats. If the style doesn’t redefine them, they will default to the same as the display full forms. -

    Inline singular no case-change (used by

    Inline singular no case-change (used by \glsentryfull, , \glsxtrfull and + id="dx1-24068"> and \GLSxtrfull): -


    ): +


    \glsxtrinlinefullformat  \glsxtrinlinefullformat{label}{insert}

    -

    -

    Inline singular first letter converted to upper case (used by

    +

    Inline singular first letter converted to upper case (used by \Glsentryfull and + id="dx1-24071"> and \Glsxtrfull): -


    ): +


    \Glsxtrinlinefullformat  \Glsxtrinlinefullformat{label}{insert}

    -

    -

    Inline plural no case-change (used by

    +

    Inline plural no case-change (used by \glsentryfullpl, , \glsxtrfullpl and + id="dx1-24075"> and \GLSxtrfullpl): -


    ): +


    \glsxtrinlinefullplformat  \glsxtrinlinefullplformat{label}{insert}

    -

    -

    Inline plural first letter converted to upper case (used by

    +

    Inline plural first letter converted to upper case (used by \Glsentryfullpl and + id="dx1-24078"> and \Glsxtrfullpl): -


    ): +


    \Glsxtrinlinefullplformat  \Glsxtrinlinefullplformat{label}{insert}

    -

    -

    If you want to provide support for

    +

    (New to version 1.17.) You can also modify the way the subsequent use is +formatted by redefining the following four commands, but these won’t be used for +abbreviations with the regular attribute set. If the style doesn’t redefine these +commands, the default values are used. +

    Singular with no case-change: +


    \glsxtrsubsequentfmt  \glsxtrsubsequentfmt{label}{insert}

    +

    +

    Singular with first letter upper case: +


    \Glsxtrsubsequentfmt  \Glsxtrsubsequentfmt{label}{insert}

    +

    + + + +

    Plural with no case-change: +


    \glsxtrsubsequentplfmt  \glsxtrsubsequentplfmt{label}{insert} +

    +

    +

    Plural with first letter upper case: +


    \Glsxtrsubsequentplfmt  \Glsxtrsubsequentplfmt{label}{insert} +

    +

    +

    If you want to provide support for glossaries-accsupp use the following + id="dx1-24086"> use the following \glsaccessxxx⟩ commands (\glsentry⟨xxx⟩ commands. (If you don’t use glossaries-accsupp, they will just do the corresponding , they will just do the corresponding \glsentryxxx⟩ command.) -

    For example, the short-long style has the following in ⟨

    For example, the short-long style has the following in ⟨fmts⟩:

    -
    -  \renewcommand*{\abbrvpluralsuffix}{\glspluralsuffix}% +
    +  \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix}%  
      \renewcommand*{\glsabbrvfont}[1]{\glsabbrvdefaultfont{##1}}%  
      \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}%  
      \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}%  
      \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}%  
      \renewcommand*{\glsxtrfullformat}[2]{% - 
        \glsfirstabbrvfont{\glsaccessshort{##1}}##2\glsxtrfullsep{##1}% - 
        (\glsfirstlongfont{\glsaccesslong{##1}})% + 
        \glsfirstabbrvfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + 
        \ifglsxtrinsertinside\else##2\fi + 
        \glsxtrfullsep{##1}% + 
        \glsxtrparen{\glsfirstlongfont{\glsaccesslong{##1}}}%  
      }%  
      \renewcommand*{\glsxtrfullplformat}[2]{% - 
        \glsfirstabbrvfont{\glsaccessshortpl{##1}}##2\glsxtrfullsep{##1}% - 
        (\glsfirstlongfont{\glsaccesslongpl{##1}})% + 
        \glsfirstabbrvfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + 
        \ifglsxtrinsertinside\else##2\fi + 
        \glsxtrfullsep{##1}% + 
        \glsxtrparen{\glsfirstlongfont{\glsaccesslongpl{##1}}}%  
      }%  
      \renewcommand*{\Glsxtrfullformat}[2]{% - 
        \glsfirstabbrvfont{\Glsaccessshort{##1}}##2\glsxtrfullsep{##1}% - 
        (\glsfirstlongfont{\glsaccesslong{##1}})% + 
        \glsfirstabbrvfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + 
        \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + 
        \glsxtrparen{\glsfirstlongfont{\glsaccesslong{##1}}}%  
      }%  
      \renewcommand*{\Glsxtrfullplformat}[2]{% - 
        \glsfirstabbrvfont{\Glsaccessshortpl{##1}}##2\glsxtrfullsep{##1}% - 
        (\glsfirstlongfont{\glsaccesslongpl{##1}})% + 
        \glsfirstabbrvfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + 
         \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + 
        \glsxtrparen{\glsfirstlongfont{\glsaccesslongpl{##1}}}%  
      }%
    -

    Since the inline full commands aren’t redefined, they default to the same as the +

    Since the inline full commands aren’t redefined, they default to the same as the display versions. -

    If you want to base a style on an existing style, you can use -


    If you want to base a style on an existing style, you can use +


    \GlsXtrUseAbbrStyleFmts  \GlsXtrUseAbbrStyleFmts{name}

    -

    +

    within ⟨fmts⟩, where ⟨name⟩ is the name of the existing style. For example, the -short-sc-long style has the following in ⟨long-short-desc style has the following in ⟨fmts⟩:

    -
    -  \GlsXtrUseAbbrStyleFmts{short-long}% - 
      \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrscsuffix}% - 
      \renewcommand*{\glsabbrvfont}[1]{\glsxtrscfont{##1}}% -
    -

    and the short-sm-long style has: - - - -

    -
    -  \GlsXtrUseAbbrStyleFmts{short-long-desc}% - 
      \renewcommand*{\glsabbrvfont}[1]{\glsxtrsmfont{##1}}% - 
      \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrsmsuffix}% +
    +  \GlsXtrUseAbbrStyleFmts{long-short}%
    -

    -

    The simplest examples of creating a new style based on an existing style are the -“em” styles, such as the short-em-long style, which is defined as: +

    +

    Here’s an example of an abbreviation style that’s based on long-short that displays +the short form within \textsf:

    -
    +
    \newabbreviationstyle - 
    {short-em-long}% label + 
    {custom-sf}% label  
    {% setup  
      \GlsXtrUseAbbrStyleSetup{short-long}%  
    }%  
    {% fmts  
      \GlsXtrUseAbbrStyleFmts{short-long}% - 
      \renewcommand*{\glsabbrvfont}[1]{\glsxtremfont{##1}}% + 
      \renewcommand*{\glsabbrvfont}[1]{\textsf{##1}}%  
    }
    -

    +

    Note that this wouldn’t work if it was instead based on one of the modified versions +such as short-sc-long as they explicitly use their own formatting commands, such as +\glsabbrvemfont. The base styles, such as short-long, use the more generic +\glsabbrvfont etc which makes them easier to adapt than the modified +styles. +

    For further details, see the “Abbreviations” section in the documented code +(glossaries-extra-code.pdf).

    -

    -

    +

    Top

    4. Entries in Sectioning Titles, Headers, Captions and Contents

    -

    The

    The glossaries user manual cautions against using commands like \gls in chapter or section titles. The principle problems are:

    @@ -7965,9 +9202,9 @@ class="cmss-10">hyperrefhyperref, you will end up with nested hyperlinks in the table of contents. -

    Similar problems can also occur with captions (except for the page header and bookmark +

    Similar problems can also occur with captions (except for the page header and bookmark issues). -

    To get around all these problems, the

    To get around all these problems, the glossaries user manual recommends using the expandable non-hyperlink commands, such as \glsentrytext -

    +
    \chapter{A Chapter about \glsabbrvfont{\glsentryshort{html}}}
    -

    Or, if you are using

    Or, if you are using hyperref:

    -
    +
    \chapter{A Chapter about  
    \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 @@ -8032,12 +9269,12 @@ class="cmtt-10">\markright\markboth. 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}}
    -

    -

    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 noindexnoindexhyper=false. The text produced won’t be converted to upper case in the page headings by default. If you want the text -converted to upper case you need to set the headucheaduc 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 @@ -8086,8 +9324,9 @@ or section title style uses bold, this may override the small-caps setting, in which case the abbreviation will just appear as lower case bold. If the heading style uses italic, the abbreviation may appear in upright small-caps, even if you have set the headuceven if you have set the headuc attribute since the all-capitals form still uses \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  }

    -

    +

    (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  }

    -

    +

    and -



    \Glsfmtplural  \Glsfmtplural{label}

    -

    -

    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. @@ -8340,7 +9579,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 indexindex by default. If you have enabled \glsxtrnewsymbol with the symbols with the symbols package option, that command will set the category to symbol. If you have enabled \glsxtrnewnumber with the numbers with the numbers package option, that command will set the category to number. -

    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

    }
    so any restrictions that apply to \ifglsfieldeq also apply to \glsifcategory. -

    Each category may have a set of attributes. For example, the

    Each category may have a set of attributes. For example, the general and acronym -categories have the attribute regularregular set to “true” to indicate that all entries with either of those categories are regular entries (as opposed to abbreviations). This attribute is accessed by \glsentryfmt to determine whether to use \glsgenentryfmt or \glsxtrgenabbrvfmt. -

    Other attributes recognised by

    Other attributes recognised by glossaries-extra are:

    -nohyperfirst
    When using commands like hyperfirst=falseglossaries). If you want commands these \glsfirst etc commands to ignore the nohyperfirst\glsfirst etc commands to ignore the nohyperfirst attribute then just redefine -



    \glsxtrchecknohyperfirst  \glsxtrchecknohyperfirst{label}

    -

    +

    to do nothing.

    -nohyper
    When using commands like hyper\gls.)
    -indexonlyfirst
    This is similar to the indexonlyfirst package option but only for entries that have a category with this attribute set to “true”.
    -wrgloss
    When using commands like wrgloss=after. (New to v1.14.)
    -discardperiod
    If set to “true”, the post-non-plural commands like \gls or \glstext. (Provided for entries such as abbreviations that end with a full stop.) -

    Note that this can cause a problem if you access a field that doesn’t end with a +

    Note that this can cause a problem if you access a field that doesn’t end with a full stop. For example:

    -
    -pluraldiscardperiod
    If this attribute is set to “true” and the discardperiodand the discardperiod attribute is set to “true”, this will behave as above for the plural commands like \glspl or \glsplural.
    -retainfirstuseperiod
    If this attribute is set to “true” then the full stop won’t be discarded for first use instances, even if discardperiod or pluraldiscardperiodfirst use instances, even if discardperiod or pluraldiscardperiod are set. This is useful for ⟨short⟩ (⟨long⟩) abbreviation styles where only the short form - has a trailing full stop.. + has a trailing full stop.
    -insertdotsmarkwords
    If this attribute is set to “true” any entry defined using \newabbreviation + will automatically have spaces in the long form replaced with +


    \glsxtrwordsep  \glsxtrwordsep

    +

    + and each word is encapsulated with +


    \glsxtrword  \glsxtrword{word}

    +

    + For example: + + + +

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

    is essentially the same as + + + +

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

    The “hyphen” styles, such as long-hyphen-short-hyphen, take advantage of this + markup. If the inserted material (provided in the final argument of commands + like \gls) starts with a hyphen then \glsxtrwordsep is locally redefined to a + hyphen. (The default value is a space). Note that this only applies to + commands like \gls and not like \glsxtrlong. You can provide your own + localised switch, if required. For example: + + + +

    +
    + \newcommand{\hyplong}[2][]{% +  
     {\def\glsxtrwordsep{-}\glsxtrlong[#1]{#2}}} +
    +

    +

    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.
    +

    +

    +markshortwords
    This is similar to markwords but applies to the short form. (Only + useful for abbreviations that contain spaces.) +

    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 \glsxtrword and \glsxtrwordsep markup + ending up in the sort field, depending on the style in use.
    +

    +

    +insertdots
    If this attribute is set to “true” any entry defined using \newabbreviation will automatically have full stops (periods) inserted after each letter. The entry will be defined with those dots present as though they had been present in the ⟨short⟩ argument of \newabbreviation (rather than inserting them - every time the entry is used). The short plural form defaults to the - new dotted version of the original ⟨short⟩ form with the plural suffix - appended. -

    If you explicitly override the short plural using the \newabbreviation (rather than inserting them every time + the entry is used). The short plural form defaults to the new dotted version of + the original ⟨short⟩ form with the plural suffix appended. This setting is + incompatible with markshortwords. +

    If you explicitly override the short plural using the shortplural key, you must + id="dx1-26069"> 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 discardperiod attribute set to “true”. +

    +

    This attribute is best used with the discardperiod attribute set to “true”.

    -aposplural
    If this attribute is set to “true”, \newabbreviation will insert an + id="dx1-26072"> will insert an apostrophe (’) before the plural suffix for the short plural form (unless + + + explicitly overridden with the shortplural key). The long plural form is - unaffected by this setting. + id="dx1-26073"> key). The long plural form is + unaffected by this setting. This setting overrides noshortplural.
    -noshortplural
    If this attribute is set to “true”, \newabbreviation won’t append the + id="dx1-26076"> won’t append the plural suffix for the short plural form. This means the short and and shortplural + id="dx1-26078"> values will be the same unless explicitly overridden. The aposplural attribute +class="cmti-10">This setting is incompatible trumps the noshortplural attribute. - - - +class="cmti-10">with aposplural.
    -headuc
    If this attribute is set to “true”, commands like \glsfmtshort will use the + id="dx1-26081"> will use the upper case version in the page headers.
    -tagging
    If this attribute is set to “true”, the tagging command defined by \GlsXtrEnableInitialTagging will be activated to use will be activated to use \glsxtrtagfont in + id="dx1-26084"> in the glossary (see §3.1 Tagging Initials).
    -entrycount
    Unlike the above attributes, this attribute isn’t boolean but instead must be an integer value and is used in combination with \glsenableentrycount + id="dx1-26086"> (see §2.4 Entry Counting Modifications

    With

    With glossaries, commands like \cgls use \cglsformat only if the previous usage count for that entry was equal to 1. With glossaries-extra the test is now - for entries that have the entrycount attribute set and where the previous + for entries that have the entrycount attribute set and where the previous usage count for that entry is less than or equal to the value of that attribute.

    -glossdesc
    The \glossentrydesc command (used in the predefined glossary styles) is + id="dx1-26091"> command (used in the predefined glossary styles) is modified by glossaries-extra to check for this attribute. The attribute may have one of the following values: @@ -8714,34 +10080,34 @@ class="cmss-10">glossaries-extra to check for this attribute. The attribu class="cmtt-10">firstuc: the first letter of the description will be converted to upper case (using \Glsentrydesc). + id="dx1-26092">).
  • title: the description will be used in the argument of the title casing command \capitalisewords (provided by (provided by mfirstuc). If you want to use a + id="dx1-26094">). If you want to use a different command you can redefine: -



    \glsxtrfieldtitlecasecs  \glsxtrfieldtitlecasecs{phrase cs}

    -

    +

    For example:

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

    (Note that the argument to

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

  • -

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

    Any other values of this attribute are ignored. Remember that there are design limitations for both the first letter uppercasing and the title casing commands. See the mfirstuc user manual for further details. + id="dx1-26096"> user manual for further details.

    -glossdescfont
    (New to version 1.04) In addition to the above, the modified \glossentrydesc command also checks this attribute. If set, it should be the + id="dx1-26098"> command also checks this attribute. If set, it should be the name of a control sequence (without the leading backslash) that takes one argument. This control sequence will be applied to the description text. For example: -
    +
    \glssetcategoryattribute{general}{glossdescfont}{emph}
    -

    +

    -glossname
    As glossdesc but applies to
    As glossdesc but applies to \glossentryname. Additionally, if this + id="dx1-26101">. Additionally, if this attribute is set to “uc” the name is converted to all capitals.
    -indexname
    If set, the \glsxtrpostnamehook hook used at the end of \glossentyname + id="dx1-26103"> will index the entry using \index. See . See §7 Auto-Indexing for further details.
    -glossnamefont
    (New to version 1.04) In addition to the above, the modified \glossentryname command also checks this attribute. If set, it should be the + id="dx1-26106"> command also checks this attribute. If set, it should be the name of a control sequence (without the leading backslash) that takes one argument. This control sequence will be applied to the name text. For example: -
    +
    \glssetcategoryattribute{general}{glossnamefont}{emph}
    -

    Note that this overrides

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

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

    Remember that glossary styles may additionally apply a font change, such as the list styles which put the name in the optional argument of \item.

    -dualindex
    If set, whenever a glossary entry has information written to the external glossary file through commands like \gls and and \glsadd, a corresponding line + id="dx1-26109">, a corresponding line will be written to the indexing file using \index. See . See §7 Auto-Indexing for further details.
    -targeturl
    If set, the hyperlink generated by commands like \gls will be set to the URL provided by this attributes value. For example: -
    +
    \glssetcategoryattribute{general}{targeturl}{master-doc.pdf}
    -

    (See also the accompanying sample file

    (See also the accompanying sample file sample-external.tex.) If the URL contains awkward characters (such as % or ~) remember that the base glossaries package provides commands like \glspercentchar and and \glstildechar that expand to literal characters. -

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

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

    All the predefined glossary styles start each entry listing with

    All the predefined glossary styles start each entry listing with \glstarget which sets the anchor to \glolinkprefix\glslabel, so if you want - entries to link to glossaries in the URL given by targeturl, you can just + entries to link to glossaries in the URL given by targeturl, you can just do:

    -
    +
    \glssetcategoryattribute{general}{targetname}{\glolinkprefix\glslabel}
    -

    (If the target document changed

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

    If the anchor is in the form ⟨

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

    For example: +

    For example:

    -
    +
    \glssetcategoryattribute{general}{targeturl}{master-doc.pdf}  
    \glssetcategoryattribute{general}{targetcategory}{page}  
    \glssetcategoryattribute{general}{targetname}{7}
    -

    will cause all link text for

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

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

    If you want a mixture in your document of entries that link to an internal glossary and entries that link to an external URL then you can use the starred form of \newignoredglossary for the external list. For + id="dx1-26117"> for the external list. For example:

    -
    +
    \newignoredglossary*{external}  
    \glssetcategoryattribute{external}{targeturl}{master-doc.pdf}  
    \glssetcategoryattribute{general}{targetname}{\glolinkprefix\glslabel} @@ -8937,14 +10314,14 @@ class="cmtt-10">\newignoredglossary  category=external,  
      description={external example}}
    -

    +

    -

    An attribute can be set using: -


    An attribute can be set using: +


    \glssetcategoryattribute  \glssetcategoryattribute{category-label} @@ -8954,30 +10331,31 @@ class="cmitt-10">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 regular attribute to “true”: -


    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  \glssetattribute{entry-label}{} 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  \glsgetcategoryattribute{category-label} @@ -9004,13 +10382,13 @@ class="cmtt-10">} class="cmtt-10">{⟨attribute-label}

    -

    +

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



    \glsgetattribute  \glsgetattribute{entry-label}{} -

    -

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


    +

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


    \glshascategoryattribute  \glshascategoryattribute{category-label} @@ -9037,19 +10415,19 @@ class="cmitt-10">true code}{false code}

    -

    +

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



    \glshasattribute  \glshasattribute{entry-label}{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  \glsifcategoryattribute{category-label} @@ -9080,7 +10458,7 @@ class="cmitt-10">true-part}{false-part}

    -

    +

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

    For example: +

    For example:

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

    This does “NO HYPER” if the

    This does “NO HYPER” if the general category has the nohyper attribute set to + id="dx1-26128"> category has the nohyper attribute set to true otherwise if does “HYPER”. -

    With boolean-style attributes like nohyper, make sure you always test for

    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  \glsifattribute{entry-label}{true-part} {false-part}

    -

    -

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

    +

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



    \glsifregularcategory  \glsifregularcategory{category-label} @@ -9148,12 +10529,12 @@ class="cmitt-10">true-part}{false-part}

    -

    +

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



    \glsifregular  \glsifregular{entry-label}{}{false-part}

    -

    -Note that if the regular attribute hasn’t be set, the above do ⟨

    +Note that if the regular attribute hasn’t be set, the above do ⟨false-part⟩. There -are also reverse commands that test if the regular attribute has been set to +are also reverse commands that test if the regular attribute has been set to “false”: -



    \glsifnotregularcategory  \glsifnotregularcategory{category-label} @@ -9184,12 +10567,12 @@ class="cmitt-10">true-part}{false-part}

    -

    +

    or for a particular entry: -



    \glsifnotregular  \glsifnotregular{entry-label}{}{false-part}

    -

    -Again, if the regular attribute hasn’t been set, the above do ⟨

    +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  \glsforeachwithattribute[glossary-labels] @@ -9257,42 +10641,42 @@ class="cmtt-10">}{body}

    -

    +

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

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

    You can change the category for a particular entry using the standard glossary field changing commands, such as \glsfielddef. Alternatively, you can + id="dx1-26141">. Alternatively, you can use -



    \glsxtrsetcategory  \glsxtrsetcategory{entry-labels}{category-label}

    -

    +

    This will change the category to ⟨category-label⟩ for each entry listed in the comma-separated list ⟨entry-labels⟩. This command uses \glsfieldxdef so it will + id="dx1-26143"> 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  \glsxtrsetcategoryforall{glossary-labels} @@ -9300,26 +10684,27 @@ class="cmtt-10">} 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, glossaries-extra modifies the \glsenableentrycount command to allow for the entrycount command to allow for the entrycount attribute. This means that you not only need to enable entry counting with \glsenableentrycount§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 \gls even if you haven’t enabled entry counting. You will only get a warning if you use \glsenableentrycount -without setting the entrycountentrycount attribute. (With glossaries, commands like \cgls will -generate a warning if \glsenableentrycount hasn’t been used.) The abbreviation -shortcut +will generate a warning if \glsenableentrycount hasn’t been used.) The +abbreviation shortcut \ab uses \cgls (see §3.3 Shortcut Commands) unlike the acronym shortcut -Shortcut Commands) unlike the +acronym shortcut \ac which uses \gls. -

    All upper case versions (not provided by \gls (except when it’s defined through +shortcuts=ac). +

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



    \cGLS  \cGLS[options]{label}[insert]

    -

    +

    and -



    \cGLSpl  \cGLSpl[options]{label}[insert]

    -

    +

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



    \cGLSformat  \cGLSformat{label}{insert}

    -

    +

    and -



    \cGLSplformat  \cGLSplformat{label}{insert}

    -

    +

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

    Just using

    Just using glossaries:

    -
    +
    \documentclass{article}  
    \usepackage{glossaries}  
    \makeglossaries @@ -9437,16 +10828,17 @@ class="cmss-10">glossaries:  
    \printglossaries  
    \end{document}
    -

    -

    If you switch to glossaries-extra you must set the entrycount attribute: +

    +

    If you switch to glossaries-extra you must set the entrycount attribute:

    -
    +
    \documentclass{article}  
    \usepackage{glossaries-extra}  
    \makeglossaries @@ -9460,16 +10852,16 @@ class="cmss-10">entrycount\printglossaries  
    \end{document}
    -

    -

    When activated with

    +

    When activated with \glsenableentrycount, commands such as \cgls now + id="dx1-27017"> now use -



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

    -

    +

    to determine if the entry trips the entry count trigger. The ⟨trigger code⟩ uses commands like \cglsformat and unsets the first use flag. The ⟨normal code⟩ is the code that would ordinarily be performed by whatever the equivalent command is (for @@ -9495,12 +10887,12 @@ class="cmti-10">trigger code⟩ but the usual \gls behaviour in ⟨normal code⟩). -

    The default definition is: +

    The default definition is:

    -
    +
    \newcommand*{\glsxtrifcounttrigger}[3]{%  
     \glshasattribute{#1}{entrycount}%  
     {% @@ -9513,35 +10905,37 @@ class="cmti-10">normal code⟩).  
     {#3}%  
    }
    -

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

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

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

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

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

    -

    There is a convenient command provided to enable entry counting, set the -entrycount attribute and redefine

    +

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


    etc: +


    \GlsXtrEnableEntryCounting  \GlsXtrEnableEntryCounting{categories} @@ -9549,18 +10943,19 @@ class="cmtt-10">} class="cmtt-10">{⟨value}

    -

    +

    The first argument ⟨categories⟩ is a comma-separated list of categories. For each -category, the entrycount attribute is set to ⟨entrycount attribute is set to ⟨value⟩. In addition, this does:

    -
    +
    \renewcommand*{\gls}{\cgls}%  
    \renewcommand*{\Gls}{\cGls}%  
    \renewcommand*{\glspl}{\cglspl}% @@ -9568,18 +10963,19 @@ class="cmti-10">value⟩. In addition, this does:  
    \renewcommand*{\GLS}{\cGLS}%  
    \renewcommand*{\GLSpl}{\cGLSpl}%
    -

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

    If you use

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

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

    The above example document can then become: +just set the entrycount attribute for each listed category. +

    The above example document can then become:

    -
    +
    \documentclass{article}  
    \usepackage{glossaries-extra}  
    \makeglossaries @@ -9592,15 +10988,15 @@ 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  \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 + id="dx1-27028"> counter.

    +

    +

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

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

    The counter value is used as part of a label, which means that \thecounter-name⟩ needs to be expandable. Since hyperref also has a similar requirement and provides + id="dx1-27029"> also has a similar requirement and provides \theHcounter-name⟩ as an expandable alternative, \theHcounter-name⟩ if it exists otherwise it will use \thecounter-name⟩. -

    The per-unit counting function uses two attributes: entrycount (as before) and -unitcount (the name of the counter). +

    The per-unit counting function uses two attributes: entrycount (as before) and +unitcount (the name of the counter). -

    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:

    -
    +
    \documentclass{report}  
    \usepackage{glossaries-extra}  
    \GlsXtrEnableEntryUnitCounting{abbreviation}{2}{chapter} @@ -9719,11 +11117,11 @@ 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 first use with the short form used on subsequent use, and the css entries in that @@ -9733,19 +11131,19 @@ only used once, which trips the suppression trigger, so in that chapter, the long form is used and \gls{css} doesn’t get a line added to the glossary file. -

    The

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

    The

    The sample entry has only been used once, but it doesn’t trip the indexing suppression because it’s in the general category, which hasn’t been listed in + id="dx1-27037"> 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 @@ -9753,20 +11151,20 @@ example document the trigger value is set to zero, which means the index suppres won’t be triggered, but the unit entry count is used to automatically suppress the hyperlink for commands like \gls by modifying the hook -


    by modifying the hook +


    \glslinkcheckfirsthyperhook  \glslinkcheckfirsthyperhook

    -

    +

    which is used at the end of the macro the determines whether or not to suppress the hyperlink.

    -
    +
    \documentclass{article}  
    \usepackage[colorlinks]{hyperref}  
    \usepackage{glossaries-extra} @@ -9787,12 +11185,12 @@ 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 + id="dx1-27040"> counter still applies. If the first instance of \gls occurs at the top of the page within a paragraph that started on the previous page, then the count will continue from the previous @@ -9801,27 +11199,30 @@ page.

    -

    -

    +

    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: indexnameindexname and -dualindexdualindex. -

    The

    The \glsxtrpostnamehook macro, used at the end of \glossentryname and \Glossentryname, checks the indexname, checks the indexname attribute for the category associated with that entry. Since \glossentryname is used in the default glossary styles, this @@ -9830,13 +11231,14 @@ location in the glossary without fiddling around with the value of the name 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 dualindexdualindex 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 @@ -9858,30 +11260,30 @@ 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:

    -
    +
    \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 @@ -9900,36 +11302,36 @@ sort value. The default definition is:

    -
    +
    \newcommand*{\glsxtrautoindexassignsort}[2]{%  
      \glsletentryfield{#1}{#2}{sort}%  
    }
    -

    After this macro is called, ⟨

    After this macro is called, ⟨cs⟩ is then processed to escape any of makeindex’s special 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 -

    +
    \renewcommand*{\glsxtrautoindexassignsort}[2]{%  
      \ifglshaslong{#2}%  
      {\glsletentryfield{#1}{#2}{long}}%  
      {\glsletentryfield{#1}{#2}{sort}}%  
    }
    -

    -

    If the value of the attribute given by ⟨

    +

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

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

    will set the encap to

    will set the encap to textbf which will display the relevant page number in bold whereas

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

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

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

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

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

    -

    By default the

    +

    By default the format key won’t be used with the dualindex key won’t be used with the dualindex attribute. You can allow 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 dualindex

    The dualindex attribute will still be used on subsequent use even if the -indexonlyfirstindexonlyfirst attribute (or indexonlyfirst package option) is set. However, the dualindex package option) is set. However, the dualindex attribute will honour the noindex 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 document§1.2 New or Modified Package Options above, this ability is disabled by default with glossaries-extra but can be enabled using the -docdefsdocdefs 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 document environment without the tricks used -with the docdefsdocdefs option. There are limitations with this approach, so take care with it. This function is disabled by default, but can be enabled using the preamble-only command: -



    \GlsXtrEnableOnTheFly  \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 @@ -10201,7 +11609,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:

    -
    +
    \glsxtr[][plural=geese]{goose}  
     ... later  
    \glsxtr[][plural=geese]{goose}
    -

    -

    If you are considering doing something like: +

    +

    If you are considering doing something like:

    -
    +
    \newcommand*{\goose}{\glsxtr[][plural=geese]{goose}}  
    \renewcommand*{\GlsXtrWarning}[2]{}  
     ... later  
    \goose\ some more text here
    -

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

    then don’t bother. It’s simpler and less problematic to just define the entries in the preamble with \newglossaryentry and then use \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 @@ -10316,41 +11724,42 @@ 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 under development called

    There is a new command line application under development called bib2gls, -which works in much the same way as bibtex. Instead of storing all your entry -definitions in a bibtex and makeindex. +Instead of storing all your entry definitions in a .tex and loading them using \input or \loadglsentries, the entries -can instead be stored in a \input +or \loadglsentries, the entries can instead be stored in a .bib file and bib2gls can selectively write the appropriate -commands to a .glstex file which is loaded using \glsxtrresourcefile (or - +can selectively write the appropriate commands to a .glstex file which is loaded +using \glsxtrresourcefile (or \GlsXtrLoadResources). -

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

    This means that you can use a reference managing system, such as JabRef, to maintain the database and it reduces the TEX overhead by only defining the entries that are actually required in the document. If you currently have a .tex file that contains hundreds of definitions, but you only use a dozen or so in your document, then the build time is needlessly slowed by the unrequired definitions that occur when the file is input. -

    Although

    Although bib2gls isn’t ready yet, there have been some new commands and -options added to glossaries-extra to help assist the integration of isn’t ready yet (at the time of writing this), there have been +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 into the document build process. +

    An example of the contents of .bib file that stores glossary entries that can be extracted with bib2gls -

    + -

    -

    The follow provides some abbreviations: +

    +

    The follow provides some abbreviations:

    -
    + -

    -

    Here are some symbols: +

    +

    Here are some symbols:

    -
    +
    preamble{"\providecommand{\mtx}[1]{\boldsymbol{#1}}"}  
    @symbol{M,  
      name={$\mtx{M}$}, @@ -10443,47 +11852,50 @@ preamble{"\providecommand{\mtx}[1]{\boldsymbol{#1}}"}  
      description={a set}  
    }
    -

    -

    To ensure that

    +

    To ensure that bib2gls can find out which entries have been used in the -document, you need the record package. Option: +document, you need the record package option:

    -
    +
    \usepackage[record]{glossaries-extra}
    -

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

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

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

    If you still want to use an indexing application (for example, you need a custom xindy rule), then just use record=alsoindexxindy rule), then just use record=alsoindex and continue to use \makeglossaries and \printglossary (or \printglossaries), but instruct \printglossaries), but it’s a good idea to also instruct +bib2gls to omit sorting -to save time. -

    The to omit sorting to save time. +

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



    \glsxtrresourcefile  ]{filename}

    -

    +

    (Don’t include the file extension in ⟨filename⟩.) There’s a shortcut version that sets ⟨filename\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

    9.2

    The options are ignored by

    The options are ignored by glossaries-extra but are picked up by bib2glsbib2gls.bib files and any changes to the default behaviour. -

    Since the

    Since the .glstex won’t exist on the first LATEX run, the recordEX run, the record package option -additionally switches on undefaction=warnundefaction=warn. Any use of commands like \gls or bib2gls has created the .glstex file the references should be resolved. -

    Note that as from v1.12,

    Note that \glsaddall doesn’t work with bib2gls as the command has to iterate +over the glossary lists, which will be empty on the first run and on subsequent +runs will only contain those entries that have been selected by bib2gls. +
    +

    +

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

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

    See the bib2gls user manual for more details of this and other available +options. +

    Note that as from v1.12, \glsxtrresourcefile temporarily switches the category code of @ to 11 (letter) while it reads the file to allow for any internal commands stored in the location field. -

    Since the

    Since the .glstex file only defines those references used within the document and the definitions have been written in the order corresponding to bib2gls sorted + id="dx1-30039"> sorted list, the glossaries can simply be displayed using \printunsrtglossary (or §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:

    -
    +
    \documentclass{article}  
    \usepackage[record]{glossaries-extra}  
    \setabbreviationstyle{long-short-desc} @@ -10630,18 +12075,18 @@ class="E">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:

    -
    +
    pdflatex mydoc  
    bib2gls mydoc  
    pdflatex mydoc
    -

    This creates a single glossary containing the entries:

    This creates a single glossary containing the entries: bird, duck, goose, bird, shtml and M entries were added because bib2gls detected (from the detected (from the .aux file) that they had been used in the document. The other entries were added because bib2gls detected (from the detected (from the .bib files) that they are referenced by the used entries. In the case of duck and goose, they are in the see field for field for bird. In the case of ssi and html, they are referenced in the description field of field of shtml. These cross-referenced entries won’t have a location list when the glossary is first displayed, but depending on how they are referenced, they may pick up a location list on the next document build. -

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

    The entries can be separated into different glossaries with different sort methods:

    -
    +
    \documentclass{article}  
    \usepackage[record,abbreviations,symbols]{glossaries-extra}  
    \setabbreviationstyle{long-short-desc} @@ -10704,46 +12149,20 @@ methods:  
    \printunsrtglossaries  
    \end{document}
    -

    (By default, entries are sorted according to the operating system’s locale. +

    (By default, entries are sorted according to the operating system’s locale. If this doesn’t match the document language, you need to set this in the option list, for example sort=de-CH-1996 for Swiss German using the new orthography.) -

    Note that \glsaddall doesn’t work in this case as it has to iterate over the -glossary lists, which will be empty on the first run and on subsequent runs will only -contain those entries that have been selected by bib2gls. Instead, if you want to -add all entries to the glossary, you need to tell bib2gls this in the options -list: - - - -

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

    -

    The bib2gls user manual will contain more detail.

    -

    -

    +

    Top

    10. Miscellaneous New Commands

    -

    The

    The glossaries package provides \glsrefentry entry to cross-reference entries @@ -10754,21 +12173,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:

    -
    +
    \newcommand*{\mtx}[1]{\boldsymbol{#1}}  
    \newcommand*{\mtxinv}[1]{\mtx{#1}\sp{-1}}  
    \newglossaryentry{matrix}{% @@ -10873,10 +12292,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

    -

    +

    @@ -10924,12 +12343,12 @@ replacement text of \GlsXtrFmtDefaultOptions is prepended to the optional argument of \glslink. -

    For example: +

    For example:

    -
    +
    \[  
      \glsxtrfmt{matrix}{A}  
      \glsxtrfmt{matrixinv}{A} @@ -10937,7 +12356,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 @@ -10975,14 +12394,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 @@ -11024,7 +12443,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{code} (ignoring the ⟨field⟩ argument), so by default it causes an error if the entry doesn’t exist. -This can be changed to a warning with undefaction=warnundefaction=warn. You can redefine \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 @@ -11244,7 +12665,7 @@ class="cmti-10">code⟩} is still used, as for \GlsXtrSetField. -

    The

    The glossaries package provides \glsfieldfetch which can be used to fetch the @@ -11254,7 +12675,7 @@ 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 @@ -11294,7 +12715,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 ⟨\listgadd, \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 record

    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:

    -
    +
    \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 \makenoidxglossaries). -

    There’s also a starred form -


    \printunsrtglossary

    There’s also a starred form +


    \printunsrtglossary* * \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). -

    If you have any entries with the

    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 see key set, you will need the glossariesseenoindex=ignoreseenoindex=warn to prevent an error occurring from the automated \glssee normally triggered by this key. The record=only\glssee normally triggered by this key. The record=only package option will automatically deal with this. -

    For example: +

    For example:

    -
    +
    \documentclass{article}  
    \usepackage{glossaries-extra}  
    \newglossaryentry{zebra}{name={zebra},description={stripy animal}} @@ -11598,33 +13027,34 @@ 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 docdefs

    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⟩]. -

    The

    The \printunsrtglossary command internally uses -



    \printunsrtglossaryhandler  \printunsrtglossaryhandler{label}

    -

    +

    for each item in the list, where ⟨label⟩ is the current label. -

    By default this just does -


    By default this just does +


    \glsxtrunsrtdo  \glsxtrunsrtdo{label}

    -

    +

    which determines whether to use \glossentry or \subglossentry and checks the @@ -11654,42 +13084,42 @@ class="cmss-10">loclist fields for the number list. -

    You can redefine the handler if required. -

    If you redefine the handler to exclude entries, you may end up with an empty +

    You can redefine the handler if required. +

    If you redefine the handler to exclude entries, you may end up with an empty glossary. This could cause a problem for the list-based styles.
    -

    -

    For example, if the preamble includes: +

    +

    For example, if the preamble includes:

    -
    +
    \usepackage[record,style=index]{glossaries-extra}  
    \GlsXtrRecordCounter{section}
    -

    then you can print the glossary but first redefine the handler to only select entries +

    then you can print the glossary but first redefine the handler to only select entries that include the current section number in the record.section field:

    -
    +
    \renewcommand{\printunsrtglossaryhandler}[1]{%  
      \glsxtrfieldxifinlist{#1}{record.section}{\thesection}  
      {\glsxtrunsrtdo{#1}}%  
      {}%  
    }
    -

    -

    Alternatively you can use the starred form of

    +

    Alternatively you can use the starred form of \printunsrtglossary which will localise the change:

    -
    +
    \printunsrtglossary*{%  
      \renewcommand{\printunsrtglossaryhandler}[1]{%  
        \glsxtrfieldxifinlist{#1}{record.section}{\thesection} @@ -11698,8 +13128,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 -

    +
    \printunsrtglossary*{%  
      \renewcommand{\printunsrtglossaryhandler}[1]{%  
        \glsxtrfieldxifinlist{#1}{record.section}{\thesection} @@ -11725,13 +13155,13 @@ duplicate hypertarget names. For example:  
      }%  
    }
    -

    If it’s a short summary at the start of a section, you might also want to suppress the +

    If it’s a short summary at the start of a section, you might also want to suppress the glossary header and add some vertical space afterwards:

    -
    +
    \printunsrtglossary*{%  
      \renewcommand{\printunsrtglossaryhandler}[1]{%  
        \glsxtrfieldxifinlist{#1}{record.section}{\thesection} @@ -11749,9 +13179,9 @@ glossary header and add some vertical space afterwards:  
      \appto\glossarypostamble{\glspar\medskip\glspar}%  
    }
    -

    -

    There’s a shortcut command that does this: -


    +

    There’s a shortcut command that does this: +


    \printunsrtglossaryunit  counter name}

    -

    +

    The above example can simply be replaced with:

    -
    +
    \printunsrtglossaryunit{section}
    -

    -

    This shortcut command is actually defined to use

    +

    This shortcut command is actually defined to use \printunsrtglossary* with -



    \printunsrtglossaryunitsetup  counter name}

    -

    +

    so if you want to just make some minor modifications you can do

    -
    +
    \printunsrtglossary*{\printunsrtglossaryunitsetup{section}%  
      \renewcommand*{\glossarysection}[2][]{\subsection*{Summary}}%  
    }
    -

    which will start the list with a subsection header with the title “Summary” +

    which will start the list with a subsection header with the title “Summary” (overriding the glossary’s title). -

    Note that this shortcut command is only available with the record

    Note that this shortcut command is only available with the record (or -record=alsoindexrecord=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 @@ -11815,12 +13248,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 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 @@ -11831,7 +13264,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:

      @@ -11859,8 +13292,9 @@ class="cmtt-10">\gls{⟨entry-1} will link to ⟨entry-2⟩’s target. (Unless the targeturlentry-2⟩’s target. (Unless the targeturl attribute has been set for ⟨entry-1⟩’s category.) @@ -11868,10 +13302,14 @@ class="cmti-10">entry-1⟩’s -
    • With record=off or record=alsoindexWith record=off or record=alsoindex, the noindex setting will automatically @@ -11889,8 +13327,10 @@ class="cmtt-10">\glssee) unless it’s been explicitly class="cmtt-10">\glsadd or if the indexing has been explicitly set using noindex=false. -

      Note that with record=only

      Note that with record=only, the location list for aliased entries is controlled @@ -11899,64 +13339,66 @@ href="#glo:locationlist">location list for aliased entries is controlled href="#glo:bib2gls">bib2gls’s settings.

    -

    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 -have been set. With record=onlyrecord=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 @@ -11965,10 +13407,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 @@ -11977,7 +13419,7 @@ example:

    -
    +
    \documentclass{article}  
    \usepackage{glossaries-extra}  
    \usepackage{glossaries-prefix} @@ -11992,27 +13434,28 @@ example:  
    \printglossaries  
    \end{document}
    -

    -

    +

    +

    -

    Top

    11.2 Accessibility Support

    -

    The

    The glossaries-accsupp needs to be loaded before glossaries-extra or through the -accsuppaccsupp package option:

    -
    +
    \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  
      {% @@ -12068,20 +13511,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: @@ -12089,17 +13532,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  
      {% @@ -12108,112 +13551,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 @@ -12396,11 +13839,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
    Simple sample file that uses one of the dummy files provided class="cmss-10">glossaries package for testing.
    sample-abbr-styles.tex
    Demonstrates all predefined abbreviation styles. +
    +sample-mixture.tex
    General entries, acronyms and initialisms all treated differently. @@ -12459,13 +13906,13 @@ class="description">Warn on undefined entries instead of generating an error. class="cmbx-10">sample-mixed-abbrv-styles.tex
    Different abbreviation styles for different entries. + + +
    sample-initialisms.tex
    Automatically insert dots into initialisms. - - -
    sample-postdot.tex
    Using entries in section/chapter headings.
    sample-autoindex.tex
    Using the dualindex and indexnameUsing the dualindex and indexname attributes to automatically add glossary entries to the index (in addition to the glossary \printnoidxglossary.
    sample-external.tex
    Uses the targeturlUses the targeturl attribute to allow for entries that should link to an external URL rather than to an internal glossary. + + +
    sample-fmt.tex
    Provides text-block commands associated with entries in order to use \glsxtrfmt. - - -
    sample-alias.tex
    hyperref package to reference a location in the supplementary file 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\abbreviationsname§1.2 New or -Modified Package Options) if you use the abbreviations) if you use the abbreviations package option to automatically create the glossary labelled abbreviations. If this command @@ -12683,15 +14137,15 @@ been loaded, otherwise it will be defined as \acronymname (provided by glossaries). -

    You can redefine it in the usual way. For example: +

    You can redefine it in the usual way. For example:

    -
    +
    \renewcommand*{\abbreviationsname}{List of Abbreviations}
    -

    Or using

    Or using babel or 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: @@ -12714,24 +14168,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}% @@ -12772,8 +14226,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 @@ -12891,17 +14345,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 automake option is used, but the document @@ -13117,13 +14571,13 @@ class="cmbx-10">A

    abbreviation styles (deprecated):
        footnote-em  1
    +href="glossaries-extra-manual.html#dx1-23152" >1
        footnote-sc  2
    +href="glossaries-extra-manual.html#dx1-23144" >2
        footnote-sm  3
    +href="glossaries-extra-manual.html#dx1-23148" >3
        long-desc-em  4
    @@ -13144,17 +14598,17 @@ class="cmss-10">long-sm  9
        postfootnote-em  10
    +href="glossaries-extra-manual.html#dx1-23175" >10
        postfootnote-sc  11
    +href="glossaries-extra-manual.html#dx1-23167" >11
        postfootnote-sm  12
    +href="glossaries-extra-manual.html#dx1-23171" >12
    abbreviation styles:
        footnote  13
    +href="glossaries-extra-manual.html#dx1-23139" >13
        long  14
    @@ -13163,2785 +14617,3031 @@ class="cmss-10">long-desc  15
        long-em-noshort-em  16
    +href="glossaries-extra-manual.html#dx1-21088" >16, 17, 18
        long-em-noshort-em-desc  17
    +href="glossaries-extra-manual.html#dx1-22068" >19, 20
    +    long-em-noshort-em-desc-noreg  21
    +    long-em-noshort-em-noreg  22, 23, 24
        long-em-short-em  18, 19
    +href="glossaries-extra-manual.html#dx1-21056" >25, 26, 27, 28
        long-em-short-em-desc  20
    +href="glossaries-extra-manual.html#dx1-23062" >29
    +    long-hyphen-long-hyphen  30
    +    long-hyphen-noshort-desc-noreg  31, 32
    +    long-hyphen-noshort-noreg  33, 34
    +    long-hyphen-postshort-hyphen  35, 36, 37, 38, 39, 40
    +    long-hyphen-postshort-hyphen-desc  41
    +    long-hyphen-short-hyphen  42, 43, 44, 45, 46
    +    long-hyphen-short-hyphen-desc  47, 48
        long-noshort  21, 22, 23, 24, 25, 26, 27, 28
    +href="glossaries-extra-manual.html#dx1-12030" >49, 50, 51, 52, 53, 54, 55, 56, 57
        long-noshort-desc  29, 30, 31, 32, 33, 34, 35, 36, 37
    +href="glossaries-extra-manual.html#dx1-11040" >58, 59, 60, 61, 62, 63, 64, 65, 66, 67
    +    long-noshort-desc-noreg  68
    + + +     long-noshort-em  38
    +href="glossaries-extra-manual.html#dx1-22089" >69
        long-noshort-em-desc  39
    +href="glossaries-extra-manual.html#dx1-22064" >70
    +    long-noshort-noreg  71
        long-noshort-sc  40, 41
    +href="glossaries-extra-manual.html#dx1-21081" >72, 73
        long-noshort-sc-desc  42
    +href="glossaries-extra-manual.html#dx1-22055" >74, 75
        long-noshort-sm  43
    +href="glossaries-extra-manual.html#dx1-22085" >76
        long-noshort-sm-desc  44
    +href="glossaries-extra-manual.html#dx1-22060" >77
    +    long-only-short-only  78, 79, 80
    +    long-only-short-only-desc  81
        long-postshort-user  45, 46
    +href="glossaries-extra-manual.html#dx1-23181" >82, 83
        long-postshort-user-desc  47
    +href="glossaries-extra-manual.html#dx1-23184" >84
        long-short  48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60
    +href="glossaries-extra-manual.html#dx1-11047" >85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100
        long-short-desc  61, 62, 63, 64, 65, 66, 67, 68, 69
    - - - +href="glossaries-extra-manual.html#dx1-12016" >101, 102, 103, 104, 105, 106, 107, 108, 109, 110
        long-short-em  70, 71, 72
    +href="glossaries-extra-manual.html#dx1-21051" >111, 112, 113, 114
        long-short-em-desc  73, 74
    +href="glossaries-extra-manual.html#dx1-23059" >115, 116
        long-short-sc  75, 76, 77, 78, 79
    +href="glossaries-extra-manual.html#dx1-12004" >117, 118, 119, 120
        long-short-sc-desc  80, 81
    +href="glossaries-extra-manual.html#dx1-12018" >121, 122
        long-short-sm  82, 83
    +href="glossaries-extra-manual.html#dx1-12006" >123, 124, 125
        long-short-sm-desc  84, 85
    +href="glossaries-extra-manual.html#dx1-12020" >126, 127
        long-short-user  86, 87, 88, 89, 90, 91, 92, 93, 94
    +href="glossaries-extra-manual.html#dx1-21084" >128, 129, 130, 131, 132, 133, 134, 135, 136
        long-short-user-desc  95
    +href="glossaries-extra-manual.html#dx1-23068" >137
        postfootnote  96
    +href="glossaries-extra-manual.html#dx1-23162" >138
        short  97
    +href="glossaries-extra-manual.html#dx1-22007" >139
        short-desc  98
    +href="glossaries-extra-manual.html#dx1-22030" >140
        short-em  99
    +href="glossaries-extra-manual.html#dx1-22022" >141
        short-em-desc  100
    +href="glossaries-extra-manual.html#dx1-22045" >142
        short-em-footnote  101, 102
    +href="glossaries-extra-manual.html#dx1-21102" >143, 144
        short-em-footnote-desc  103
    +href="glossaries-extra-manual.html#dx1-21101" >145
        short-em-long  104, 105, 106
    +href="glossaries-extra-manual.html#dx1-21052" >146, 147, 148
        short-em-long-desc  107, 108
    +href="glossaries-extra-manual.html#dx1-23114" >149, 150
        short-em-long-em  109
    +href="glossaries-extra-manual.html#dx1-21057" >151, 152
        short-em-long-em-desc  110
    +href="glossaries-extra-manual.html#dx1-23117" >153
        short-em-nolong  111, 112
    +href="glossaries-extra-manual.html#dx1-22019" >154, 155
        short-em-nolong-desc  113, 114
    +href="glossaries-extra-manual.html#dx1-22042" >156, 157
        short-em-postfootnote  115
    +href="glossaries-extra-manual.html#dx1-23172" >158
        short-footnote  116, 117, 118, 119, 120, 121, 122, 123, 124, 125
    +href="glossaries-extra-manual.html#dx1-12034" >159, 160, 161, 162, 163, 164, 165, 166, 167, 168
        short-footnote-desc  126
    +href="glossaries-extra-manual.html#dx1-12040" >169
    +    short-hyphen-long-hyphen  170, 171
    +    short-hyphen-long-hyphen-desc  172
    +    short-hyphen-postlong-hyphen  173, 174
    +    short-hyphen-postlong-hyphen-desc  175
        short-long  127, 128, 129, 130, 131, 132, 133, 134, 135
    +href="glossaries-extra-manual.html#dx1-12010" >176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186
        short-long-desc  136, 137, 138, 139, 140, 141, 142, 143
    +href="glossaries-extra-manual.html#dx1-12024" >187, 188, 189, 190, 191, 192, 193, 194
        short-long-user  144, 145, 146, 147, 148, 149, 150
    +href="glossaries-extra-manual.html#dx1-23034" >195, 196, 197, 198, 199, 200, 201
        short-long-user-desc  151
    +href="glossaries-extra-manual.html#dx1-23120" >202
        short-nolong  152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163
    +href="glossaries-extra-manual.html#dx1-17012" >203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215
    + + +     short-nolong-desc  164, 165, 166, 167
    +href="glossaries-extra-manual.html#dx1-22024" >216, 217, 218, 219, 220
    +    short-nolong-desc-noreg  221
    +    short-nolong-noreg  222
        short-postfootnote  168, 169, 170, 171, 172, 173, 174
    +href="glossaries-extra-manual.html#dx1-8058" >223, 224, 225, 226, 227, 228, 229
        short-postlong-user  175, 176, 177
    +href="glossaries-extra-manual.html#dx1-23176" >230, 231, 232
        short-postlong-user-desc  178
    +href="glossaries-extra-manual.html#dx1-23178" >233
        short-sc  179
    +href="glossaries-extra-manual.html#dx1-22012" >234
        short-sc-desc  180
    +href="glossaries-extra-manual.html#dx1-22035" >235
        short-sc-footnote  181, 182, 183, 184
    +href="glossaries-extra-manual.html#dx1-12036" >236, 237, 238
        short-sc-footnote-desc  185
    +href="glossaries-extra-manual.html#dx1-12042" >239
        short-sc-long  186, 187, 188
    +href="glossaries-extra-manual.html#dx1-12012" >240, 241, 242, 243
        short-sc-long-desc  189, 190
    +href="glossaries-extra-manual.html#dx1-12026" >244, 245
        short-sc-nolong  191, 192
    +href="glossaries-extra-manual.html#dx1-22009" >246, 247
        short-sc-nolong-desc  193, 194
    +href="glossaries-extra-manual.html#dx1-22032" >248, 249
        short-sc-postfootnote  195, 196
    +href="glossaries-extra-manual.html#dx1-21095" >250, 251
        short-sm  197
    +href="glossaries-extra-manual.html#dx1-22017" >252
        short-sm-desc  198
    +href="glossaries-extra-manual.html#dx1-22040" >253
        short-sm-footnote  199, 200
    +href="glossaries-extra-manual.html#dx1-12038" >254
        short-sm-footnote-desc  201
    - - - +href="glossaries-extra-manual.html#dx1-12044" >255
        short-sm-long  202, 203, 204
    +href="glossaries-extra-manual.html#dx1-12014" >256, 257, 258
        short-sm-long-desc  205, 206
    +href="glossaries-extra-manual.html#dx1-12028" >259, 260
        short-sm-nolong  207, 208
    +href="glossaries-extra-manual.html#dx1-22014" >261, 262
        short-sm-nolong-desc  209, 210
    +href="glossaries-extra-manual.html#dx1-22037" >263, 264
        short-sm-postfootnote  211
    +href="glossaries-extra-manual.html#dx1-23168" >265
    \abbreviationsname  212
    +href="glossaries-extra-manual.html#dx1-4089" >266
    \abbrvpluralsuffix  213
    +href="glossaries-extra-manual.html#dx1-24043" >267
    acronym styles (glossaries):
        dua  214
    +href="glossaries-extra-manual.html#dx1-12029" >268
        dua-desc  215
    +href="glossaries-extra-manual.html#dx1-12031" >269
        footnote  216
    +href="glossaries-extra-manual.html#dx1-12033" >270
        footnote-desc  217
    +href="glossaries-extra-manual.html#dx1-12039" >271
        footnote-sc  218
    +href="glossaries-extra-manual.html#dx1-12035" >272
        footnote-sc-desc  219
    +href="glossaries-extra-manual.html#dx1-12041" >273
        footnote-sm  220
    +href="glossaries-extra-manual.html#dx1-12037" >274
        footnote-sm-desc  221
    +href="glossaries-extra-manual.html#dx1-12043" >275
        long-sc-short  222
    +href="glossaries-extra-manual.html#dx1-12003" >276
        long-sc-short-desc  223
    +href="glossaries-extra-manual.html#dx1-12017" >277
        long-short-desc  224
    +href="glossaries-extra-manual.html#dx1-12015" >278
        long-sm-short  225
    +href="glossaries-extra-manual.html#dx1-12005" >279
        long-sm-short-desc  226
    +href="glossaries-extra-manual.html#dx1-12019" >280
        long-sp-short  227, 228
    +href="glossaries-extra-manual.html#dx1-12007" >281, 282
        long-sp-short-desc  229
    +href="glossaries-extra-manual.html#dx1-12021" >283
        sc-short-long  230
    +href="glossaries-extra-manual.html#dx1-12011" >284
        sc-short-long-desc  231
    +href="glossaries-extra-manual.html#dx1-12025" >285
        short-long  232
    +href="glossaries-extra-manual.html#dx1-12009" >286
        short-long-desc  233
    +href="glossaries-extra-manual.html#dx1-12023" >287
    + + +     sm-short-long  234
    +href="glossaries-extra-manual.html#dx1-12013" >288
        sm-short-long-desc  235
    +href="glossaries-extra-manual.html#dx1-12027" >289
    amsgen package  236
    +href="glossaries-extra-manual.html#dx1-9" >290
    \apptoglossarypreamble  237
    +class="cmti-10">291

    B babel package  238, 239, 240, 241, 242, 243, 244, 245
    +href="glossaries-extra-manual.html#dx1-3010" >292, 293, 294, 295, 296, 297, 298, 299
    bib2gls  246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 272
    +class="cmbx-10">327
    bib2gls  273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 299
    +class="cmbx-10">355

    C categories:
        abbreviation  300, 301, 302, 303
    +href="glossaries-extra-manual.html#dx1-9003" >356, 357, 358, 359
        acronym  304, 305, 306, 307, 308, 309
    +href="glossaries-extra-manual.html#dx1-8029" >360, 361, 362, 363, 364, 365
        general  310, 311, 312, 313, 314, 315, 316, 317
    - - - +href="glossaries-extra-manual.html#dx1-8036" >366, 367, 368, 369, 370, 371, 372, 373
        index  318, 319
    +href="glossaries-extra-manual.html#dx1-5031" >374, 375
        number  320
    +href="glossaries-extra-manual.html#dx1-26018" >376
        symbol  321, 322
    +href="glossaries-extra-manual.html#dx1-8043" >377, 378
    category attributes:
        aposplural  323, 324, 325, 326
    +href="glossaries-extra-manual.html#dx1-10036" >379, 380, 381, 382
        discardperiod  327, 328, 329, 330, 331
    +href="glossaries-extra-manual.html#dx1-8032" >383, 384, 385, 386, 387
        dualindex  332, 333, 334, 335, 336, 337, 338
    +href="glossaries-extra-manual.html#dx1-26107" >388, 389, 390, 391, 392, 393, 394
        entrycount  339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349
    +href="glossaries-extra-manual.html#dx1-9002" >395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405
        externallocation  350
    +href="glossaries-extra-manual.html#dx1-6024" >406
        glossdesc  351, 352, 353
    +href="glossaries-extra-manual.html#dx1-14004" >407, 408, 409
        glossdescfont  354, 355
    +href="glossaries-extra-manual.html#dx1-14005" >410, 411
        glossname  356, 357
    +href="glossaries-extra-manual.html#dx1-14003" >412, 413
        glossnamefont  358
    +href="glossaries-extra-manual.html#dx1-26105" >414
        headuc  359, 360, 361, 362
    +href="glossaries-extra-manual.html#dx1-11059" >415, 416, 417, 418
        indexname  363, 364, 365, 366, 367
    +href="glossaries-extra-manual.html#dx1-14009" >419, 420, 421, 422, 423
        indexonlyfirst  368, 369, 370
    +href="glossaries-extra-manual.html#dx1-6005" >424, 425, 426
        insertdots  371, 372
    +href="glossaries-extra-manual.html#dx1-17004" >427, 428, 429
    +    markshortwords  430, 431
    +    markwords  432, 433, 434, 435, 436, 437
        nohyper  373, 374, 375
    +href="glossaries-extra-manual.html#dx1-26034" >438, 439, 440
        nohyperfirst  376, 377, 378, 379, 380
    +href="glossaries-extra-manual.html#dx1-23129" >441, 442, 443, 444, 445
        noshortplural  381, 382, 383, 384, 385
    +href="glossaries-extra-manual.html#dx1-10037" >446, 447, 448, 449, 450
        pluraldiscardperiod  386, 387
    +href="glossaries-extra-manual.html#dx1-26048" >451, 452
        regular  388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407
    +href="glossaries-extra-manual.html#dx1-8010" >453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483
        retainfirstuseperiod  408
    +href="glossaries-extra-manual.html#dx1-26050" >484
        tagging  409, 410, 411, 412
    +href="glossaries-extra-manual.html#dx1-18002" >485, 486, 487, 488
    + + +     targetcategory  413
    +href="glossaries-extra-manual.html#dx1-26116" >489
        targetname  414, 415
    +href="glossaries-extra-manual.html#dx1-26113" >490, 491
        targeturl  416, 417, 418, 419, 420
    +href="glossaries-extra-manual.html#dx1-5004" >492, 493, 494, 495, 496
        unitcount  421
    +href="glossaries-extra-manual.html#dx1-27031" >497
        wrgloss  422, 423
    +href="glossaries-extra-manual.html#dx1-6013" >498, 499
    \cGLS  424
    +href="glossaries-extra-manual.html#dx1-27012" >500
    \cGLSformat  425
    +href="glossaries-extra-manual.html#dx1-27014" >501
    \cGLSpl  426
    +href="glossaries-extra-manual.html#dx1-27013" >502
    \cGLSplformat  427
    +href="glossaries-extra-manual.html#dx1-27015" >503
    \csGlsXtrLetField  428
    +class="cmti-10">504
    \CustomAbbreviationFields  429
    +class="cmti-10">505

    D datatool-base package  430
    +href="glossaries-extra-manual.html#dx1-8" >506

    E \eglssetwidest  431
    +class="cmti-10">507
    \eGlsXtrSetField  432
    +class="cmti-10">508
    entry location  433, 434, 435
    +class="cmbx-10">509, 510, 511
    etoolbox package  436, 437, 438, 439, 440, 441
    - - - +href="glossaries-extra-manual.html#dx1-4" >512, 513, 514, 515, 516, 517

    F first use  442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 518, 519, 520, 521, 522, 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, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 493, 494, 495
    +class="cmbx-10">567, 568, 569
    first use flag  496, 497, 498, 499, 570, 571, 572, 573, 500
    +class="cmbx-10">574
    first use text  501, 502
    +class="cmbx-10">575, 576
    fontenc package  503
    +href="glossaries-extra-manual.html#dx1-21024" >577

    G \gGlsXtrSetField  504
    +class="cmti-10">578
    glossaries package  505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515
    +href="glossaries-extra-manual.html#dx1-5019" >579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589
    glossaries-accsupp package  516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530
    +href="glossaries-extra-manual.html#dx1-4005" >590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604
    glossaries-extra package  531, 532
    +href="glossaries-extra-manual.html#dx1-5021" >605, 606
    glossaries-extra-stylemods package  533, 534, 535, 536
    +href="glossaries-extra-manual.html#dx1-4014" >607, 608, 609, 610
    glossaries-prefix package  537, 538, 539
    +href="glossaries-extra-manual.html#dx1-35001" >611, 612, 613
    \glossariesextrasetup  540
    +href="glossaries-extra-manual.html#dx1-4125" >614
    glossary styles:
        alttree  541, 542, 543, 544, 545, 546, 547
    +href="glossaries-extra-manual.html#dx1-16010" >615, 616, 617, 618, 619, 620, 621
        inline  548, 549
    +href="glossaries-extra-manual.html#dx1-16006" >622, 623
        long3col  550
    +href="glossaries-extra-manual.html#dx1-16004" >624
    glossary-inline package  551
    +href="glossaries-extra-manual.html#dx1-16007" >625
    glossary-tree package  552, 553, 554
    +href="glossaries-extra-manual.html#dx1-16011" >626, 627, 628
    \glossxtrsetpopts  555
    +class="cmti-10">629
    + + + \glsabbrvdefaultfont  556
    +href="glossaries-extra-manual.html#dx1-21029" >630, 631
    \glsabbrvemfont  557
    +href="glossaries-extra-manual.html#dx1-21053" >632
    +\glsabbrvfont  633
    +\glsabbrvhyphenfont  634
    +\glsabbrvonlyfont  635
    +\glsabbrvscfont  636
    \glsabbrvfont  558, 559
    +class="cmtt-10">\glsabbrvsmfont  637
    \glsabbrvuserfont  560
    +href="glossaries-extra-manual.html#dx1-21060" >638, 639
    \Glsaccessdesc  561
    +class="cmti-10">640
    \glsaccessdesc  562
    +class="cmti-10">641
    \Glsaccessdescplural  563
    +class="cmti-10">642
    \glsaccessdescplural  564
    +class="cmti-10">643
    \Glsaccessfirst  565
    +class="cmti-10">644
    \glsaccessfirst  566
    +class="cmti-10">645
    \Glsaccessfirstplural  567
    +class="cmti-10">646
    \glsaccessfirstplural  568
    +class="cmti-10">647
    \Glsaccesslong  569
    +class="cmti-10">648
    \glsaccesslong  570
    +class="cmti-10">649
    \Glsaccesslongpl  571
    +class="cmti-10">650
    \glsaccesslongpl  572
    +class="cmti-10">651
    \Glsaccessname  573
    +class="cmti-10">652
    \glsaccessname  574
    +class="cmti-10">653
    \Glsaccessplural  575
    +class="cmti-10">654
    \glsaccessplural  576
    +class="cmti-10">655
    \Glsaccessshort  577
    +class="cmti-10">656
    \glsaccessshort  578
    - - - +class="cmti-10">657
    \Glsaccessshortpl  579
    +class="cmti-10">658
    \glsaccessshortpl  580
    +class="cmti-10">659
    \Glsaccesssymbol  581
    +class="cmti-10">660
    \glsaccesssymbol  582
    +class="cmti-10">661
    \Glsaccesssymbolplural  583
    +class="cmti-10">662
    \glsaccesssymbolplural  584
    +class="cmti-10">663
    \Glsaccesstext  585
    +class="cmti-10">664
    \glsaccesstext  586
    +class="cmti-10">665
    \glsacspace  587
    +class="cmti-10">666
    \glsacspacemax  588
    +class="cmti-10">667
    \glsadd options
        theHvalue  589, 590
    +href="glossaries-extra-manual.html#dx1-6018" >668, 669
        thevalue  591, 592, 593
    +href="glossaries-extra-manual.html#dx1-6017" >670, 671, 672
    \glscategory  594
    +class="cmti-10">673
    \glscategorylabel  595
    +href="glossaries-extra-manual.html#dx1-24039" >674
    \glscurrententrylabel  596
    +class="cmti-10">675
    \glsentrycurrcount  597
    +href="glossaries-extra-manual.html#dx1-27032" >676
    \glsentryprevcount  598
    +href="glossaries-extra-manual.html#dx1-27033" >677
    \glsentryprevmaxcount  599
    +href="glossaries-extra-manual.html#dx1-27035" >678
    \glsentryprevtotalcount  600
    +href="glossaries-extra-manual.html#dx1-27034" >679
    + + + \glsFindWidestAnyName  601
    +class="cmti-10">680
    \glsFindWidestAnyNameLocation  602
    +class="cmti-10">681
    \glsFindWidestAnyNameSymbol  603
    +class="cmti-10">682
    \glsFindWidestAnyNameSymbolLocation  604
    +class="cmti-10">683
    \glsFindWidestLevelTwo  605
    +class="cmti-10">684
    \glsFindWidestTopLevelName  606
    +class="cmti-10">685
    \glsFindWidestUsedAnyName  607
    +class="cmti-10">686
    \glsFindWidestUsedAnyNameLocation  608
    +class="cmti-10">687
    \glsFindWidestUsedAnyNameSymbol  609
    +class="cmti-10">688
    \glsFindWidestUsedAnyNameSymbolLocation  610
    +class="cmti-10">689
    \glsFindWidestUsedLevelTwo  611
    +class="cmti-10">690
    \glsFindWidestUsedTopLevelName  612
    +class="cmti-10">691
    \glsfirstabbrvdefaultfont  613
    +href="glossaries-extra-manual.html#dx1-21030" >692
    \glsfirstabbrvemfont  614
    +href="glossaries-extra-manual.html#dx1-21054" >693
    \glsfirstabbrvfont  615, 616
    +href="glossaries-extra-manual.html#dx1-24045" >694
    +\glsfirstabbrvhyphenfont  695
    +\glsfirstabbrvonlyfont  696
    +\glsfirstabbrvsmfont  697
    +\glsfirstabbrvuserfont  698
    \glsfirstlongdefaultfont  617
    +href="glossaries-extra-manual.html#dx1-21032" >699
    \glsfirstlongemfont  618
    +href="glossaries-extra-manual.html#dx1-21058" >700
    \glsfirstlongfont  619, 620
    +href="glossaries-extra-manual.html#dx1-24049" >701
    \glsfirstlongfootnotefont  621
    +href="glossaries-extra-manual.html#dx1-23134" >702
    +\glsfirstlonghyphenfont  703
    +\glsfirstlongonlyfont  704
    +\glsfirstlonguserfont  705
    \Glsfmtfirst  622
    +class="cmti-10">706
    \glsfmtfirst  623
    +class="cmti-10">707
    \Glsfmtfirstpl  624
    +class="cmti-10">708
    \glsfmtfirstpl  625
    +class="cmti-10">709
    \Glsfmtfull  626
    +class="cmti-10">710
    \glsfmtfull  627
    +class="cmti-10">711
    \Glsfmtfullpl  628
    - - - +class="cmti-10">712
    \glsfmtfullpl  629
    +class="cmti-10">713
    \Glsfmtlong  630
    +class="cmti-10">714
    \glsfmtlong  631
    +class="cmti-10">715
    \Glsfmtlongpl  632
    +class="cmti-10">716
    \glsfmtlongpl  633
    +class="cmti-10">717
    \Glsfmtplural  634
    +class="cmti-10">718
    \glsfmtplural  635
    +class="cmti-10">719
    \Glsfmtshort  636
    +class="cmti-10">720
    \glsfmtshort  637
    +class="cmti-10">721
    \Glsfmtshortpl  638
    +class="cmti-10">722
    \glsfmtshortpl  639
    +class="cmti-10">723
    \Glsfmttext  640
    +class="cmti-10">724
    \glsfmttext  641
    +class="cmti-10">725
    + + + \glsforeachwithattribute  642
    +href="glossaries-extra-manual.html#dx1-26140" >726
    \glsgetattribute  643
    +href="glossaries-extra-manual.html#dx1-26123" >727
    \glsgetcategoryattribute  644
    +href="glossaries-extra-manual.html#dx1-26122" >728
    \glsgetwidestname  645
    +class="cmti-10">729
    \glsgetwidestsubname  646
    +class="cmti-10">730
    \glshasattribute  647
    +href="glossaries-extra-manual.html#dx1-26126" >731
    \glshascategoryattribute  648
    +href="glossaries-extra-manual.html#dx1-26124" >732
    \glsifattribute  649
    +href="glossaries-extra-manual.html#dx1-26131" >733
    \glsifcategory  650
    +class="cmti-10">734
    \glsifcategoryattribute  651
    +href="glossaries-extra-manual.html#dx1-26127" >735
    \glsifnotregular  652
    +href="glossaries-extra-manual.html#dx1-26138" >736
    \glsifnotregularcategory  653
    +href="glossaries-extra-manual.html#dx1-26137" >737
    \glsifregular  654
    +href="glossaries-extra-manual.html#dx1-26134" >738
    \glsifregularcategory  655
    +href="glossaries-extra-manual.html#dx1-26133" >739
    \glskeylisttok  656
    +href="glossaries-extra-manual.html#dx1-24037" >740
    \glslabeltok  657
    +href="glossaries-extra-manual.html#dx1-24036" >741
    \glslink options
        format  658, 659
    +href="glossaries-extra-manual.html#dx1-28021" >742, 743
        hyper  660, 661, 662
    +href="glossaries-extra-manual.html#dx1-11055" >744, 745, 746
        hyper=false  663
    +href="glossaries-extra-manual.html#dx1-25016" >747
        noindex  664, 665, 666, 667, 668, 669, 670
    +href="glossaries-extra-manual.html#dx1-6001" >748, 749, 750, 751, 752, 753, 754
        wrgloss  671, 672, 673, 674
    +href="glossaries-extra-manual.html#dx1-6009" >755, 756, 757, 758
    \glslinkcheckfirsthyperhook  675
    +href="glossaries-extra-manual.html#dx1-27039" >759
    \glslongdefaultfont  676
    +href="glossaries-extra-manual.html#dx1-21031" >760
    \glslongemfont  677
    +href="glossaries-extra-manual.html#dx1-21059" >761
    \glslongfont  678, 679
    +href="glossaries-extra-manual.html#dx1-24050" >762
    \glslongfootnotefont  680
    +href="glossaries-extra-manual.html#dx1-23136" >763
    +\glslonghyphenfont  764
    +\glslongonlyfont  765
    \glslongpltok  681
    +href="glossaries-extra-manual.html#dx1-24029" >766
    \glslongtok  682
    +href="glossaries-extra-manual.html#dx1-24028" >767
    +\glslonguserfont  768
    \glsnoidxdisplayloc  683
    +class="cmti-10">769
    \glsps  684
    +class="cmti-10">770
    \glspt  685
    +class="cmti-10">771
    \glssetattribute  686
    - - - +href="glossaries-extra-manual.html#dx1-26121" >772
    \glssetcategoryattribute  687
    +href="glossaries-extra-manual.html#dx1-26118" >773
    \glssetregularcategory  688
    +href="glossaries-extra-manual.html#dx1-26120" >774
    \glsshortpltok  689
    +href="glossaries-extra-manual.html#dx1-24025" >775
    \glsshorttok  690
    +href="glossaries-extra-manual.html#dx1-24024" >776
    \Glsxtr  691
    +class="cmti-10">777
    \glsxtr  692
    +class="cmti-10">778
    \glsxtrabbrvfootnote  693
    +href="glossaries-extra-manual.html#dx1-23137" >779
    \glsxtrabbrvpluralsuffix  694
    +class="cmti-10">780, 781
    \glsxtraddallcrossrefs  695
    +class="cmti-10">782
    \glsxtralias  696
    +class="cmti-10">783
    + + + \glsxtrAltTreeIndent  697
    +class="cmti-10">784
    \glsxtralttreeInit  698
    +class="cmti-10">785
    \glsxtralttreeSubSymbolDescLocation  699
    +class="cmti-10">786
    \glsxtralttreeSymbolDescLocation  700
    +class="cmti-10">787
    \glsxtrautoindex  701
    +class="cmti-10">788
    \glsxtrautoindexassignsort  702
    +class="cmti-10">789
    \glsxtrautoindexentry  703
    +class="cmti-10">790
    \glsxtrchecknohyperfirst  704
    +class="cmti-10">791
    \glsxtrcopytoglossary  705
    +class="cmti-10">792
    \glsxtrdeffield  706
    +class="cmti-10">793
    \glsxtrdisplayendloc  707
    +class="cmti-10">794
    \glsxtrdisplayendlochook  708
    +class="cmti-10">795
    \glsxtrdisplaysingleloc  709
    +class="cmti-10">796
    \glsxtrdisplaystartloc  710
    +class="cmti-10">797
    \glsxtrdoautoindexname  711
    +class="cmti-10">798
    \glsxtrdowrglossaryhook  712
    +class="cmti-10">799
    \glsxtredeffield  713
    +class="cmti-10">800
    +\glsxtremsuffix  801
    \GlsXtrEnableEntryCounting  714
    +href="glossaries-extra-manual.html#dx1-27024" >802
    \GlsXtrEnableEntryUnitCounting  715
    +href="glossaries-extra-manual.html#dx1-27027" >803
    \GlsXtrEnableIndexFormatOverride  716
    +class="cmti-10">804
    \GlsXtrEnableInitialTagging  717
    +class="cmti-10">805
    \GlsXtrEnableOnTheFly  718
    +class="cmti-10">806
    \GlsXtrEnablePreLocationTag  719
    +class="cmti-10">807
    \glsxtrentryfmt  720
    +class="cmti-10">808
    \glsxtrfielddolistloop  721
    +class="cmti-10">809
    \glsxtrfieldforlistloop  722
    +class="cmti-10">810
    \glsxtrfieldifinlist  723
    +class="cmti-10">811
    \glsxtrfieldlistadd  724
    +class="cmti-10">812
    \glsxtrfieldlisteadd  725
    +class="cmti-10">813
    \glsxtrfieldlistgadd  726
    +class="cmti-10">814
    \glsxtrfieldlistxadd  727
    +class="cmti-10">815
    \glsxtrfieldtitlecasecs  728
    +href="glossaries-extra-manual.html#dx1-26095" >816
    \glsxtrfieldxifinlist  729
    -\glsxtrfirstscfont  730
    -\glsxtrfirstsmfont  731
    +class="cmti-10">817
    \glsxtrfmt  732
    - - - +class="cmti-10">818
    \GlsXtrFmtDefaultOptions  733
    +class="cmti-10">819
    \GlsXtrFmtField  734
    +class="cmti-10">820
    \GlsXtrFormatLocationList  735
    +class="cmti-10">821
    \GLSxtrfull  736
    +href="glossaries-extra-manual.html#dx1-19025" >822
    \Glsxtrfull  737
    +href="glossaries-extra-manual.html#dx1-19022" >823
    \glsxtrfull  738
    +class="cmti-10">824
    \Glsxtrfullformat  739
    +href="glossaries-extra-manual.html#dx1-24058" >825
    \glsxtrfullformat  740
    +href="glossaries-extra-manual.html#dx1-24054" >826
    \GLSxtrfullpl  741
    +href="glossaries-extra-manual.html#dx1-19034" >827
    \Glsxtrfullpl  742
    +href="glossaries-extra-manual.html#dx1-19033" >828
    \glsxtrfullpl  743
    +href="glossaries-extra-manual.html#dx1-19032" >829
    + + + \Glsxtrfullplformat  744
    +href="glossaries-extra-manual.html#dx1-24066" >830
    \glsxtrfullplformat  745
    +href="glossaries-extra-manual.html#dx1-24062" >831
    \glsxtrfullsep  746
    +href="glossaries-extra-manual.html#dx1-21078" >832
    +\glsxtrhyphensuffix  833
    \glsxtrifcounttrigger  747
    +href="glossaries-extra-manual.html#dx1-27018" >834
    \glsxtrifkeydefined  748
    +class="cmti-10">835
    \glsxtrifwasfirstuse  749
    +class="cmti-10">836
    \glsxtrindexaliased  750
    +class="cmti-10">837
    \glsxtrindexseealso  751
    +class="cmti-10">838
    \glsxtrinitwrgloss  752
    +class="cmti-10">839
    \Glsxtrinlinefullformat  753
    +href="glossaries-extra-manual.html#dx1-24073" >840
    \glsxtrinlinefullformat  754
    +href="glossaries-extra-manual.html#dx1-24070" >841
    \Glsxtrinlinefullplformat  755
    +href="glossaries-extra-manual.html#dx1-24080" >842
    \glsxtrinlinefullplformat  756
    +href="glossaries-extra-manual.html#dx1-24077" >843
    \glsxtrinsertinsidetrue  757
    +href="glossaries-extra-manual.html#dx1-21076" >844
    \GlsXtrLetField  758
    +class="cmti-10">845
    \GlsXtrLetFieldToField  759
    +class="cmti-10">846
    \GlsXtrLoadResources  760
    +class="cmti-10">847
    \glsxtrlocrangefmt  761
    +class="cmti-10">848
    \Glsxtrlong  762, 763
    +href="glossaries-extra-manual.html#dx1-19021" >849, 850
    \glsxtrlong  764
    +class="cmti-10">851
    +\glsxtrlonghyphen  852
    +\glsxtrlonghyphenshort  853
    \GLSxtrlongpl  765
    +href="glossaries-extra-manual.html#dx1-19031" >854
    \Glsxtrlongpl  766
    +href="glossaries-extra-manual.html#dx1-19030" >855
    \glsxtrlongpl  767
    +href="glossaries-extra-manual.html#dx1-19029" >856
    \glsxtrlongshortdescsort  768
    +href="glossaries-extra-manual.html#dx1-23051" >857
    \glsxtrnewnumber  769
    +href="glossaries-extra-manual.html#dx1-4104" >858
    \glsxtrnewsymbol  770
    +href="glossaries-extra-manual.html#dx1-4101" >859
    \GlsXtrNoGlsWarningAutoMake  771
    +class="cmti-10">860
    \GlsXtrNoGlsWarningBuildInfo  772
    +class="cmti-10">861
    \GlsXtrNoGlsWarningCheckFile  773
    +class="cmti-10">862
    \GlsXtrNoGlsWarningEmptyMain  774
    +class="cmti-10">863
    \GlsXtrNoGlsWarningEmptyNotMain  775
    +class="cmti-10">864
    \GlsXtrNoGlsWarningEmptyStart  776
    +class="cmti-10">865
    \GlsXtrNoGlsWarningHead  777
    +class="cmti-10">866
    \GlsXtrNoGlsWarningMisMatch  778
    +class="cmti-10">867
    \GlsXtrNoGlsWarningNoOut  779
    - - - +class="cmti-10">868
    \GlsXtrNoGlsWarningTail  780
    +class="cmti-10">869
    +\glsxtronlysuffix  870
    +\glsxtrorglong  871
    +\glsxtrorgshort  872
    \Glsxtrp  781, 873, 782
    +class="cmti-10">874
    \glsxtrp  783
    +class="cmti-10">875
    \glsxtrpageref  784
    +class="cmti-10">876
    +\glsxtrparen  877
    + + + \Glsxtrpl  785
    +class="cmti-10">878
    \glsxtrpl  786
    +class="cmti-10">879
    \glsxtrpostdescription  787
    +class="cmti-10">880
    +\glsxtrposthyphenlong  881
    +\glsxtrposthyphenshort  882
    \glsxtrpostlink  788
    +class="cmti-10">883
    \glsxtrpostlinkAddDescOnFirstUse  789
    +class="cmti-10">884
    \glsxtrpostlinkAddSymbolOnFirstUse  790
    +class="cmti-10">885
    \glsxtrpostlinkendsentence  791
    +class="cmti-10">886
    \glsxtrpostlinkhook  792
    +class="cmti-10">887
    \glsxtrpostlongdescription  793
    +class="cmti-10">888
    \glsxtrpostnamehook  794
    +class="cmti-10">889
    \GlsXtrPostNewAbbreviation  795
    +href="glossaries-extra-manual.html#dx1-24019" >890
    \glsxtrprovidestoragekey  796
    +class="cmti-10">891
    \GlsXtrRecordCounter  797
    +class="cmti-10">892
    \glsxtrregularfont  798
    +class="cmti-10">893
    \glsxtrresourcefile  799
    +class="cmti-10">894
    \glsxtrRevertMarks  800
    -\glsxtrscfont  801
    +class="cmti-10">895
    \glsxtrscsuffix  802
    +href="glossaries-extra-manual.html#dx1-21040" >896
    \glsxtrseealsolabels  803
    +class="cmti-10">897
    \glsxtrseelist  804
    +class="cmti-10">898
    \GlsXtrSetActualChar  805
    +class="cmti-10">899
    \glsxtrsetaliasnoindex  806
    +class="cmti-10">900
    \GlsXtrSetAltModifier  807
    +class="cmti-10">901
    \glsxtrsetcategory  808
    +href="glossaries-extra-manual.html#dx1-26142" >902
    \glsxtrsetcategoryforall  809
    +href="glossaries-extra-manual.html#dx1-26144" >903
    \GlsXtrSetDefaultGlsOpts  810
    +class="cmti-10">904
    \GlsXtrSetEncapChar  811
    +class="cmti-10">905
    \GlsXtrSetEscChar  812
    +class="cmti-10">906
    \GlsXtrSetField  813
    +class="cmti-10">907
    \glsxtrsetfieldifexists  814
    +class="cmti-10">908
    \glsxtrsetgrouptitle  815
    +class="cmti-10">909
    \GlsXtrSetLevelChar  816
    +class="cmti-10">910
    \glsxtrsetpopts  817
    +class="cmti-10">911
    \Glsxtrshort  818, 819
    +href="glossaries-extra-manual.html#dx1-19020" >912, 913
    \glsxtrshort  820
    +class="cmti-10">914
    +\glsxtrshorthyphenlong  915
    \GLSxtrshortpl  821
    +href="glossaries-extra-manual.html#dx1-19028" >916
    \Glsxtrshortpl  822
    +href="glossaries-extra-manual.html#dx1-19027" >917
    \glsxtrshortpl  823
    -\glsxtrsmfont  824
    +href="glossaries-extra-manual.html#dx1-19026" >918
    \glsxtrsmsuffix  825
    +href="glossaries-extra-manual.html#dx1-21050" >919
    +\Glsxtrsubsequentfmt  920
    +\glsxtrsubsequentfmt  921
    +\Glsxtrsubsequentplfmt  922
    +\glsxtrsubsequentplfmt  923
    \glsxtrtagfont  826
    -\glsxtrunsrtdo  827
    +class="cmti-10">924
    +\glsxtrunsrtdo  925
    \GlsXtrUseAbbrStyleFmts  828
    +href="glossaries-extra-manual.html#dx1-24089" >926
    \GlsXtrUseAbbrStyleSetup  829
    +href="glossaries-extra-manual.html#dx1-24040" >927
    \Glsxtrusefield  830
    +class="cmti-10">928
    \glsxtrusefield  831
    +class="cmti-10">929
    \glsxtruserfield  832
    +href="glossaries-extra-manual.html#dx1-23029" >930
    \glsxtruserparen  833
    +href="glossaries-extra-manual.html#dx1-23032" >931
    \glsxtrusersuffix  834
    +href="glossaries-extra-manual.html#dx1-21064" >932, 933
    \glsxtrusesee  835
    +class="cmti-10">934
    \glsxtruseseealso  836
    +class="cmti-10">935
    \glsxtruseseeformat  837, 936, 838
    +class="cmti-10">937
    \GlsXtrWarnDeprecatedAbbrStyle  839
    +href="glossaries-extra-manual.html#dx1-21103" >938
    \GlsXtrWarning  840
    +class="cmti-10">939
    +\glsxtrword  940
    +\glsxtrwordsep  941

    H hyperref package  841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, 855, 856, 857, 858
    +href="glossaries-extra-manual.html#dx1-6025" >942, 943, 944, 945, 946, 947, 948, 949, 950, 951, 952, 953, 954, 955, 956, 957, 958, 959

    I \ifglsxtrinitwrglossbefore  859
    +class="cmti-10">960

    L link-text  860, 861, 862, 863, 864, 865, 866, 867, 868, 869, 870, 871, 872, 873, 874, 875, 876, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 877
    +class="cmbx-10">979
    location list  878, 879, 880, 881, 980, 981, 982, 983, 882
    +class="cmbx-10">984
    \longnewglossaryentry  883
    +class="cmti-10">985

    M makeglossaries  884, 885, 886, 887, 986, 987, 988, 989, 888
    +class="cmbx-10">990
    \makeglossaries  889
    +class="cmti-10">991
    makeglossaries-lite.lua  890, 992, 891
    +class="cmbx-10">993
    makeglossaries-lite.lua  892, 994, 893
    +class="cmbx-10">995
    makeindex  894, 895, 896, 897, 898, 899, 900, 901, 902, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 903
    +class="cmbx-10">1005
    makeindex  904
    +href="glossaries-extra-manual.html#dx1-28014" >1006
    memoir class  905
    +href="glossaries-extra-manual.html#dx1-3021" >1007
    mfirstuc package  906, 907, 908
    +href="glossaries-extra-manual.html#dx1-3" >1008, 1009, 1010

    N \newabbreviation  909
    +class="cmti-10">1011
    \newabbreviationstyle  910
    +class="cmti-10">1012
    \newacronym  911
    +class="cmti-10">1013
    + + + \newglossaryentry options
        alias  912, 913, 914, 915, 916, 917
    +href="glossaries-extra-manual.html#dx1-5010" >1014, 1015, 1016, 1017, 1018, 1019
        category  918, 919, 920, 921, 922
    - - - +href="glossaries-extra-manual.html#dx1-5009" >1020, 1021, 1022, 1023, 1024
        desc  923, 924
    +href="glossaries-extra-manual.html#dx1-37038" >1025, 1026
        descplural  925, 926
    +href="glossaries-extra-manual.html#dx1-37042" >1027, 1028
        description  927, 928, 929, 930, 931, 932, 933, 934, 935, 936, 937, 938, 939, 940, 941, 942, 943, 944, 945
    +href="glossaries-extra-manual.html#dx1-21098" >1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047
        descriptionplural  946, 947, 948, 949
    +href="glossaries-extra-manual.html#dx1-5017" >1048, 1049, 1050, 1051
        first  950, 951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962
    +href="glossaries-extra-manual.html#dx1-8013" >1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064
        firstplural  963, 964, 965, 966, 967, 968, 969, 970, 971, 972
    +href="glossaries-extra-manual.html#dx1-8014" >1065, 1066, 1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074
        location  973
    +href="glossaries-extra-manual.html#dx1-33016" >1075
        loclist  974
    +href="glossaries-extra-manual.html#dx1-33017" >1076
        long  975, 976, 977, 978, 979, 980, 981, 982, 983
    +href="glossaries-extra-manual.html#dx1-10026" >1077, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085
        longplural  984, 985, 986, 987, 988, 989
    +href="glossaries-extra-manual.html#dx1-10010" >1086, 1087, 1088, 1089, 1090, 1091
        name  990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014
    +href="glossaries-extra-manual.html#dx1-10023" >1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116
        parent  1015, 1016, 1017
    +href="glossaries-extra-manual.html#dx1-16023" >1117, 1118, 1119
        plural  1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030
    +href="glossaries-extra-manual.html#dx1-8017" >1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132
        see  1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056
    +href="glossaries-extra-manual.html#dx1-4021" >1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158
        seealso  1057, 1058, 1059, 1060, 1061, 1062, 1063, 1064, 1065, 1066
    +href="glossaries-extra-manual.html#dx1-4022" >1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, 1167, 1168
        short  1067, 1068, 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 1079, 1080
    +href="glossaries-extra-manual.html#dx1-8011" >1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1180, 1181, 1182
        shortplural  1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094
    +href="glossaries-extra-manual.html#dx1-10011" >1183, 1184, 1185, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1195, 1196, 1197
        sort  1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107
    +href="glossaries-extra-manual.html#dx1-4075" >1198, 1199, 1200, 1201, 1202, 1203, 1204, 1205, 1206, 1207, 1208, 1209, 1210, 1211, 1212, 1213
        symbol  1108, 1109, 1110
    +href="glossaries-extra-manual.html#dx1-37030" >1214, 1215, 1216
        symbolplural  1111, 1112
    +href="glossaries-extra-manual.html#dx1-37034" >1217, 1218
        text  1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, 1121, 1122, 1123, 1124
    +href="glossaries-extra-manual.html#dx1-8016" >1219, 1220, 1221, 1222, 1223, 1224, 1225, 1226, 1227, 1228, 1229, 1230
        type  1125, 1126
    +href="glossaries-extra-manual.html#dx1-12046" >1231, 1232
        user1  1127, 1128, 1129
    +href="glossaries-extra-manual.html#dx1-21080" >1233, 1234, 1235
    number list  1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1236, 1237, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1151
    +class="cmbx-10">1257

    P package options:
        abbreviations  1152, 1153, 1154, 1155, 1156
    +href="glossaries-extra-manual.html#dx1-4087" >1258, 1259, 1260, 1261, 1262
        accsupp  1157, 1158, 1159
    +href="glossaries-extra-manual.html#dx1-4004" >1263, 1264, 1265
        acronym  1160
    +href="glossaries-extra-manual.html#dx1-4095" >1266
        acronymlists  1161
    +href="glossaries-extra-manual.html#dx1-4099" >1267
        automake  1162, 1163
    +href="glossaries-extra-manual.html#dx1-5038" >1268, 1269
        autoseeindex  1164, 1165
    +href="glossaries-extra-manual.html#dx1-4031" >1270, 1271
            false  1166, 1167
    +href="glossaries-extra-manual.html#dx1-4023" >1272, 1273
        docdef  1168, 1169, 1170, 1171
    +href="glossaries-extra-manual.html#dx1-4059" >1274, 1275, 1276, 1277
            restricted  1172
    +href="glossaries-extra-manual.html#dx1-4084" >1278
            true  1173, 1174
    +href="glossaries-extra-manual.html#dx1-4083" >1279, 1280
        docdefs  1175, 1176, 1177
    +href="glossaries-extra-manual.html#dx1-29003" >1281, 1282, 1283
    + + +     entrycounter  1178
    +href="glossaries-extra-manual.html#dx1-31002" >1284
        hyperfirst
            false  1179
    +href="glossaries-extra-manual.html#dx1-26030" >1285
        index  1180, 1181
    - - - +href="glossaries-extra-manual.html#dx1-5030" >1286, 1287
        indexcrossrefs  1182, 1183, 1184, 1185
    +href="glossaries-extra-manual.html#dx1-4020" >1288, 1289, 1290, 1291
            false  1186
    +href="glossaries-extra-manual.html#dx1-4030" >1292
        indexonlyfirst  1187, 1188, 1189, 1190
    +href="glossaries-extra-manual.html#dx1-6002" >1293, 1294, 1295, 1296
        nomain  1191
    +href="glossaries-extra-manual.html#dx1-3032" >1297
        nomissingglstext  1192
    +href="glossaries-extra-manual.html#dx1-4086" >1298
        nonumberlist  1193, 1194, 1195, 1196
    +href="glossaries-extra-manual.html#dx1-7026" >1299, 1300, 1301, 1302
        nopostdot  1197, 1198
    +href="glossaries-extra-manual.html#dx1-14018" >1303, 1304
            false  1199, 1200
    +href="glossaries-extra-manual.html#dx1-3004" >1305, 1306, 1307
            true  1201
    +href="glossaries-extra-manual.html#dx1-3003" >1308
        noredefwarn
            false  1202
    +href="glossaries-extra-manual.html#dx1-3009" >1309
            true  1203
    +href="glossaries-extra-manual.html#dx1-3006" >1310
        notree  1204
    +href="glossaries-extra-manual.html#dx1-16012" >1311
        numbers  1205, 1206, 1207
    +href="glossaries-extra-manual.html#dx1-4103" >1312, 1313, 1314
    +    postdot  1315, 1316
        record  1208, 1209, 1210, 1211, 1212, 1213
    +href="glossaries-extra-manual.html#dx1-4029" >1317, 1318, 1319, 1320, 1321, 1322
            alsoindex  1214, 1215, 1216, 1217
    +href="glossaries-extra-manual.html#dx1-4046" >1323, 1324, 1325, 1326
            off  1218, 1219
    +href="glossaries-extra-manual.html#dx1-4042" >1327, 1328
            only  1220, 1221, 1222, 1223, 1224, 1225, 1226
    +href="glossaries-extra-manual.html#dx1-4034" >1329, 1330, 1331, 1332, 1333, 1334, 1335
        seeautonumberlist  1227
    +href="glossaries-extra-manual.html#dx1-7027" >1336
        seenoindex  1228
    +href="glossaries-extra-manual.html#dx1-7016" >1337
            ignore  1229, 1230
    +href="glossaries-extra-manual.html#dx1-7018" >1338, 1339
            warn  1231
    +href="glossaries-extra-manual.html#dx1-33009" >1340
        shortcuts  1232, 1233
    +href="glossaries-extra-manual.html#dx1-4105" >1341, 1342
            abbr  1234, 1235
    +href="glossaries-extra-manual.html#dx1-4110" >1343, 1344
            abbreviation  1236
    +href="glossaries-extra-manual.html#dx1-20001" >1345, 1346
            abbreviations  1237
    +href="glossaries-extra-manual.html#dx1-4109" >1347
    +        ac  1348, 1349, 1350, 1351
            acro  1238
    +href="glossaries-extra-manual.html#dx1-4107" >1352
            acronyms  1239
    +href="glossaries-extra-manual.html#dx1-4106" >1353
            all  1240
    +href="glossaries-extra-manual.html#dx1-4120" >1354
            false  1241
    +href="glossaries-extra-manual.html#dx1-4123" >1355
            none  1242
    +href="glossaries-extra-manual.html#dx1-4122" >1356
            other  1243
    +href="glossaries-extra-manual.html#dx1-4111" >1357
            true  1244
    +href="glossaries-extra-manual.html#dx1-4121" >1358
        sort
            none  1245
    +href="glossaries-extra-manual.html#dx1-4056" >1359
        stylemods  1246, 1247, 1248
    +href="glossaries-extra-manual.html#dx1-4013" >1360, 1361, 1362
        subentrycounter  1249
    +href="glossaries-extra-manual.html#dx1-31003" >1363
        symbols  1250, 1251, 1252
    +href="glossaries-extra-manual.html#dx1-4100" >1364, 1365, 1366
        toc
            false  1253
    +href="glossaries-extra-manual.html#dx1-3002" >1367
    + + +         true  1254
    +href="glossaries-extra-manual.html#dx1-3001" >1368
        translate
            babel  1255
    +href="glossaries-extra-manual.html#dx1-3011" >1369
            true  1256
    +href="glossaries-extra-manual.html#dx1-3013" >1370
        undefaction  1257, 1258
    +href="glossaries-extra-manual.html#dx1-4015" >1371, 1372
            error  1259, 1260
    - - - +href="glossaries-extra-manual.html#dx1-4016" >1373, 1374
            warn  1261, 1262, 1263, 1264, 1265
    +href="glossaries-extra-manual.html#dx1-4017" >1375, 1376, 1377, 1378, 1379
        xindy  1266
    +href="glossaries-extra-manual.html#dx1-7046" >1380
    page (counter)  1267, 1268
    +href="glossaries-extra-manual.html#dx1-27028" >1381, 1382
    polyglossia package  1269
    +href="glossaries-extra-manual.html#dx1-39005" >1383
    \pretoglossarypreamble  1270
    +class="cmti-10">1384
    \printabbreviations  1271
    +href="glossaries-extra-manual.html#dx1-4088" >1385
    \printglossary options
        target  1272, 1273
    +href="glossaries-extra-manual.html#dx1-5008" >1386, 1387
        title  1274
    +href="glossaries-extra-manual.html#dx1-39006" >1388
    \printnoidxglossary options
        sort  1275
    +href="glossaries-extra-manual.html#dx1-33012" >1389
    \printunsrtglossaries  1276
    +class="cmti-10">1390
    \printunsrtglossary  1277, 1391
    +\printunsrtglossary*  1278
    +class="cmti-10">1392
    \printunsrtglossaryhandler  1279
    +class="cmti-10">1393
    \printunsrtglossaryunit  1280
    +class="cmti-10">1394
    \printunsrtglossaryunitsetup  1281
    +class="cmti-10">1395
    \provideignoredglossary  1282
    +class="cmti-10">1396

    R relsize package  1283
    +class="cmss-10">relsizes package  1397
    \RestoreAcronyms  1284
    +class="cmti-10">1398

    S \setabbreviationstyle  1285
    +class="cmti-10">1399
    slantsc package  1286
    +href="glossaries-extra-manual.html#dx1-25020" >1400

    T textcase package  1287
    +href="glossaries-extra-manual.html#dx1-6" >1401
    tracklang package  1288, 1289
    +href="glossaries-extra-manual.html#dx1-2" >1402, 1403
    translator package  1290
    +href="glossaries-extra-manual.html#dx1-3012" >1404

    X xfor package  1291
    +href="glossaries-extra-manual.html#dx1-7" >1405
    \xglssetwidest  1292
    +class="cmti-10">1406
    \xGlsXtrSetField  1293
    +class="cmti-10">1407
    + + + xindy  1294, 1295, 1296, 1297, 1298, 1299, 1300, 1408, 1409, 1410, 1411, 1412, 1413, 1414, 1301
    +class="cmbx-10">1415
    xkeyval package  1302
    +href="glossaries-extra-manual.html#dx1-5" >1416

    - - -

    1.14.21 was originally intended as the last release of glossaries to incorporate new features, but a few new minor features slipped in with some bug fixes in v4.21.

    -

    2.1The descriptionpluralfield and the short form was stored in the symbol field.

    -

    3.1For compatibility with earlier versions, \glsabbrvscfont is defined to \glsxtrscfont, which +is defined to use \textsc. Direct use of \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}} -\newcommand*{\abbrstyle}[1]{\textsf{#1}\index{abbreviation styles:>#1={\protect\sffamily#1}|main}} +\newcommand*{\abbrstylenolink}[1]{% + \textsf{#1}\index{abbreviation styles:>#1={\protect\sffamily#1}|main}} + +\newcommand*{\abbrstyle}[1]{% + \hyperlink{abbrstyle.#1}{\textsf{#1}}% + \index{abbreviation styles:>#1={\protect\sffamily#1}|main}% +} + +\makeatletter +\newcommand{\htarget}[2]{\Hy@raisedlink{\hypertarget{#1}{}}#2} +\makeatother + +\newcommand*{\abbrstyledef}[1]{% + \htarget{abbrstyle.#1}{\textsf{#1}}% + \index{abbreviation styles:>#1={\protect\sffamily#1}|main}% +} \newcommand*{\depabbrstyle}[1]{\textsf{#1}\index{abbreviation styles (deprecated):>#1={\protect\sffamily#1}|main}} \newcommand*{\category}[1]{\textsf{#1}\index{categories:>#1={\protect\sffamily#1}|main}} -\newcommand*{\catattr}[1]{\textsf{#1}\index{category attributes:>#1={\protect\sffamily#1}|main}} +\newcommand*{\catattrnolink}[1]{% + \textsf{#1}\index{category attributes:>#1={\protect\sffamily#1}|main}} + +\newcommand*{\catattr}[1]{% + \hyperlink{catattr.#1}{\textsf{#1}}% + \index{category attributes:>#1={\protect\sffamily#1}|main}% +} + +\newcommand*{\catattrdef}[1]{% + \htarget{catattr.#1}{\textsf{#1}}% + \index{category attributes:>#1={\protect\sffamily#1}|main}% +} \newcommand*{\postlinkcat}{% \cs{glsxtrpostlink}\meta{category}% \index{glsxtrpostlinkcategory=\cs{glsxtrpostlink}\meta{category}|hyperpage}% } +\newcommand*{\styopt}[2][]{% + \hyperlink{styopt.#2}{\pkgoptfmt{#2}}% + \ifstrempty{#1}{}{\pkgoptfmt{=#1}}% + \ipkgopt[#1]{#2}% +} + +\newcommand*{\styoptdef}[1]{% + \htarget{styopt.#1}{\pkgoptfmt{#1}}% + \ipkgopt{#1}% +} + \setlength\marginparwidth{70pt} \begin{document} \DeleteShortVerb{\|} \MakeShortVerb{"} - \title{glossaries-extra.sty v1.16: + \title{glossaries-extra.sty v1.17: an extension to the glossaries package} \author{Nicola L.C. Talbot\\[10pt] Dickimaw Books\\ \url{http://www.dickimaw-books.com/}} - \date{2017-06-15} + \date{2017-08-09} \maketitle \begin{abstract} @@ -269,8 +306,8 @@ contents). Use \pkgopt[false]{toc} to switch this back off. \item \pkgopt[true]{nopostdot} (suppress the terminating full stop after the description in the glossary). Use -\pkgopt[false]{nopostdot} to restore the terminating full stop -(period). +\pkgopt[false]{nopostdot} or just \styopt{postdot} to restore the +terminating full stop (period). \item \pkgopt[true]{noredefwarn} (suppress the warnings that occur when the \env{theglossary} environment and \cs{printglossary} are redefined while @@ -414,10 +451,12 @@ to add the \pkgopt{nomain} package option: \begin{verbatim} \documentclass{article} -\usepackage[nomain,acronym]{glossaries-extra} +\usepackage[nomain,acronym,postdot]{glossaries-extra} \makeglossaries +\setabbreviationstyle[acronym]{long-short} + \newacronym{laser}{laser}{light amplification by stimulated emission of radiation} @@ -429,7 +468,9 @@ emission of radiation} \end{document} \end{verbatim} - +(Note the need to set the acronym style using +\cs{setabbreviationstyle} before \cs{newacronym}. +See \sectionref{sec:abbreviations} for further details.) \section{New or Modified Package Options} \label{sec:pkgopts} @@ -454,7 +495,10 @@ The new and modified options provided by \styfmt{glossaries-extra} are described below: \begin{description} -\item[{\pkgopt{accsupp}}] Load the \sty{glossaries-accsupp} +\item[{\styoptdef{postdot}}] (New to version 1.12.) +This option is just a shortcut for \pkgopt[false]{nopostdot}. + +\item[{\styoptdef{accsupp}}] Load the \sty{glossaries-accsupp} package (if not already loaded). If you want to define styles that can interface with the @@ -472,7 +516,7 @@ a~package option (not through \ics{glossariesextrasetup}) since the \sty{glossar package must be loaded before \styfmt{glossaries-extra} if it's required. -\item[{\pkgopt{stylemods}}] This is a +\item[{\styoptdef{stylemods}}] This is a \meta{key}=\meta{value} option used to load the \sty{glossaries-extra-stylemods} package. The value may be a comma-separated list of options to pass to that package. (Remember @@ -480,7 +524,7 @@ to group \meta{value} if it contains any commas.) The value may be omitted if no options need to be passed. See \sectionref{sec:glosstylemods} for further details. -\item[{\pkgopt{undefaction}}] This is a \meta{key}=\meta{value} +\item[{\styoptdef{undefaction}}] This is a \meta{key}=\meta{value} option, which has two allowed values: \pkgoptfmt{warn} and \pkgoptfmt{error}. This indicates what to do if an undefined glossary entry is referenced. The default behaviour is @@ -495,7 +539,7 @@ over a glossary list. This includes \ics{forglsentries} and \ics{glsaddall}. \end{important} -\item[{\pkgopt{indexcrossrefs}}] This is a boolean option. +\item[{\styoptdef{indexcrossrefs}}] This is a boolean option. If \pkgoptfmt{true}, this will automatically index any cross-referenced entries that haven't been marked as used at the end of the document. Note that this necessarily adds to @@ -503,7 +547,7 @@ the overall document build time, especially if you have defined a large number of entries, so this defaults to \pkgoptfmt{false}, but it will be automatically switched on if you use the \gloskey{see} or \gloskey{seealso} keys in any entries (unless -\pkgopt[false]{autoseeindex}). To force it off, even if you use the +\styopt[false]{autoseeindex}). To force it off, even if you use the \gloskey{see} or \gloskey{seealso} key, you need to explicitly set \pkgopt{indexcrossrefs} to \pkgoptfmt{false}. @@ -512,7 +556,7 @@ entries when it parses the \texttt{.bib} source file. The \pkgopt{record} option automatically implements \pkgopt[false]{indexcrossrefs}. -\item[{\pkgopt{autoseeindex}}]\label{opt:autoseeindex} (New to +\item[{\styoptdef{autoseeindex}}]\label{opt:autoseeindex} (New to v1.16.) This is a boolean option. If true (default), this makes the \gloskey{see} and \gloskey{seealso} keys automatically index the cross-reference when an entry is defined. If false, the value @@ -521,7 +565,7 @@ of those keys will still be stored in their corresponding fields \cs{glsxtruseseealso}) but cross-reference won't be automatically indexed. -Note that the \pkgopt[only]{record} option automatically implements +Note that the \styopt[only]{record} option automatically implements \pkgopt[false]{autoseeindex}. For example, if an entry is defined as @@ -540,7 +584,7 @@ but with \texttt{autoseeindex=false}, this is equivalent to \newglossaryentry{foo}{name={foo},description={}} \GlsXtrSetField{foo}{see}{bar,baz} \end{verbatim} -Note that \pkgopt{indexcrossrefs} isn't automatically implemented +Note that \styopt{indexcrossrefs} isn't automatically implemented by the presence of the \gloskey{see} key when \pkgopt{autoseeindex} is false. @@ -554,7 +598,7 @@ open, the information can't be written to it. This will need the package option \pkgoptfmt{seenoindex=ignore} (provided by \styfmt{glossaries}) to prevent an error occurring. -\item[{\pkgopt{record}}]\label{opt:record}(New to v1.08.) This is a \meta{key}=\meta{value} +\item[{\styoptdef{record}}]\label{opt:record}(New to v1.08.) This is a \meta{key}=\meta{value} option, which has three allowed values: \pkgoptfmt{off} (default), \pkgoptfmt{only} and \pkgoptfmt{alsoindex}. If the value is omitted \pkgoptfmt{only} is assumed. The option is provided for the benefit @@ -563,10 +607,10 @@ of \gls{bib2gls} (see \sectionref{sec:bib2gls}). The option may only be set in the preamble. The \pkgopt[off]{record} option switches off the recording, as per -the default behaviour. It implements \pkgopt[error]{undefaction}. +the default behaviour. It implements \styopt[error]{undefaction}. The other values switch on the recording and also -\pkgopt[warn]{undefaction}, but \pkgopt[only]{record} +\styopt[warn]{undefaction}, but \pkgopt[only]{record} will also switch off the indexing mechanism (even if \cs{makeglossaries} or \cs{makenoidxglossaries} has been used) whereas \pkgopt[alsoindex]{record} will both record and index. @@ -590,7 +634,7 @@ out which entries have been used. (Remember that commands like add a corresponding \cs{glsxtr@record} entry to the \texttt{.aux} file.) See \sectionref{sec:bib2gls} for further details. -\item[{\pkgopt{docdef}}] This option governs the use of +\item[{\styoptdef{docdef}}] This option governs the use of \cs{newglossaryentry}. It was originally a boolean option, but as from version 1.06, it can now take one of three values (if the value is omitted, \pkgoptfmt{true} is assumed): @@ -627,7 +671,7 @@ remains a preamble-only command. With this option, if an entry appears in the glossary before it has been defined, an error will occur (or a warning if -the \pkgopt[warn]{undefaction} option is used.) If you edit your +the \styopt[warn]{undefaction} option is used.) If you edit your document and either remove an entry or change its label, you may need to delete the document's temporary files (such as the \texttt{.aux} and \texttt{.gls} files). @@ -656,14 +700,14 @@ This option affects commands that internally use the \qt{on-the-fly} commands described in \sectionref{sec:onthefly}. \end{sloppypar} -\item[{\pkgopt{nomissingglstext}}] This is a boolean option. +\item[{\styoptdef{nomissingglstext}}] This is a boolean option. If true, this will suppress the warning text that will appear in the document if the external glossary files haven't been generated due to an incomplete document build. However, it's probably simpler just to fix whatever has caused the failure to build the external file or files. -\item[{\pkgopt{abbreviations}}] This option has no value and can't +\item[{\styoptdef{abbreviations}}] This option has no value and can't be cancelled. If used, it will automatically create a new glossary with the label \texttt{abbreviations} and redefines \cs{glsxtrabbrvtype} to this @@ -708,7 +752,7 @@ package's \pkgopt{acronymlists} option (or associated commands) as the abbreviation mechanism is handled differently with \styfmt{glossaries-extra}. -\item[{\pkgopt{symbols}}] This is passed to \styfmt{glossaries} but +\item[{\styoptdef{symbols}}] This is passed to \styfmt{glossaries} but will additionally define \begin{definition}[\DescribeMacro\glsxtrnewsymbol] \cs{glsxtrnewsymbol}\oarg{options}\marg{label}\marg{symbol} @@ -721,7 +765,7 @@ which is equivalent to Note that the \gloskey{sort} key is set to the \meta{label} not the \meta{symbol} as the symbol will likely contain commands. -\item[{\pkgopt{numbers}}] This is passed to \styfmt{glossaries} but +\item[{\styoptdef{numbers}}] This is passed to \styfmt{glossaries} but will additionally define \begin{definition}[\DescribeMacro\glsxtrnewnumber] \cs{glsxtrnewnumber}\oarg{options}\marg{number} @@ -732,13 +776,20 @@ which is equivalent to sort=\marg{label},type=numbers,category=number,\meta{options}\} \end{alltt} -\item[{\pkgopt{shortcuts}}] Unlike the \styfmt{glossaries} package +\item[{\styoptdef{shortcuts}}] Unlike the \styfmt{glossaries} package option of the same name, this option isn't boolean but has multiple values: \begin{itemize} \item \pkgopt[acronyms]{shortcuts} (or \pkgopt[acro]{shortcuts}): set the shortcuts provided by the \styfmt{glossaries} package for acronyms (such as \cs{ac}). +\item \pkgopt[ac]{shortcuts}: +set the shortcuts provided by the \styfmt{glossaries} package for +acronyms (such as \cs{ac}) but uses the \styfmt{glossaries-extra} +interface (such as \cs{glsxtrshort} rather than \cs{acrshort}). +In this case \cs{ac} is defined as \cs{cgls} rather than +\cs{gls}. + \item \pkgopt[abbreviations]{shortcuts} (or \pkgopt[abbr]{shortcuts}): set the abbreviation shortcuts provided by \styfmt{glossaries-extra}. (See @@ -773,8 +824,8 @@ set available options using \begin{definition}[\DescribeMacro\glossariesextrasetup] \cs{glossariesextrasetup}\marg{options} \end{definition} -The \pkgopt{abbreviations} and \pkgopt{docdef} options may only be -used in the preamble. Additionally, \pkgopt{docdef} can't be used +The \styopt{abbreviations} and \styopt{docdef} options may only be +used in the preamble. Additionally, \styopt{docdef} can't be used after \ics{makenoidxglossaries}. \chapter{Modifications to Existing Commands and Styles} @@ -782,7 +833,7 @@ after \ics{makenoidxglossaries}. The commands used by \styfmt{glossaries} to automatically produce an error if an entry is undefined (such as \ics{glsdoifexists}) are -changed to take the \pkgopt{undefaction} option into account. +changed to take the \styopt{undefaction} option into account. The \ics{newignoredglossary}\marg{type} command now (as from v1.11) has a starred version that doesn't automatically switch off the hyperlinks. @@ -893,7 +944,7 @@ for the other glossaries. (See the accompanying file \begin{important} If you use the optional argument \meta{list}, you can't define -entries in the document (even with the \pkgopt{docdef} option). +entries in the document (even with the \styopt{docdef} option). \end{important} You will need at least version 2.20 of \gls{makeglossaries} or at @@ -1080,7 +1131,7 @@ This modification allows \styfmt{glossaries-extra} to provide \end{definition} which is used at the end of the document to automatically add any unused cross-references unless the package option -\pkgopt{indexcrossrefs} was set to false. +\styopt{indexcrossrefs} was set to false. As a by-product of this enhancement, the \gloskey{see} key will now work for entries defined in the \env{document} environment, but it's still @@ -1596,11 +1647,8 @@ use \end{definition} which defaults to just \cs{glspluralsuffix}. Some of the abbreviation styles have their own command for the plural suffix, -such as \cs{glsxtrscsuffix} which is defined as: -\begin{verbatim} -\newcommand*{\glsxtrscsuffix}{\glstextup{\glsxtrabbrvpluralsuffix}} -\end{verbatim} -So if you want to completely strip all the plural suffixes used for +such as \cs{glsxtrscsuffix}, +so if you want to completely strip all the plural suffixes used for abbreviations then you need to redefine \cs{glsxtrabbrvpluralsuffix} \emph{not} \cs{abbrvpluralsuffix}, which changes with the style. Redefining \cs{acrpluralsuffix} will have no affect, since it's not used by the @@ -2327,14 +2375,14 @@ passing \meta{name} as a package option to \usepackage{glossaries-extra} \usepackage[longragged]{glossaries-extra-stylemods} \end{verbatim} -Another option is to use the \pkgopt{stylemods} key when you +Another option is to use the \styopt{stylemods} key when you load \styfmt{glossaries-extra}. You can omit a value if you only want to use the predefined styles that are automatically loaded by \styfmt{glossaries} (for example, the \glostyle{long3col} style): \begin{verbatim} \usepackage[style=long3col,stylemods]{glossaries-extra} \end{verbatim} -Or the value of \pkgopt{stylemods} may be a comma-separated list +Or the value of \styopt{stylemods} may be a comma-separated list of the style package identifiers. For example: \begin{verbatim} \usepackage[style=mcoltree,stylemods=mcols]{glossaries-extra} @@ -2567,106 +2615,11 @@ the \styfmt{glossaries} package, although they may produce similar results.) \end{sloppypar} -The short form is displayed within commands like \cs{gls} using -\begin{definition}[\DescribeMacro\glsfirstabbrvfont] -\cs{glsfirstabbrvfont}\marg{short-form} -\end{definition} -on \gls{firstuse} and -\begin{definition}[\DescribeMacro\glsabbrvfont] -\cs{glsabbrvfont}\marg{short-form} -\end{definition} -for subsequent use. - -\begin{important} -These commands (\cs{glsfirstabbrvfont} and \cs{glsabbrvfont}) are -reset by the abbreviation styles and whenever an abbreviation is -used by commands like \cs{gls} (but not by commands like -\ics{glsentryshort}) so don't try redefining them outside of an -abbreviation style. -\end{important} - -If you use the \abbrstyle{long-short} style, -\cs{glsabbrvfont} is redefine to use -\begin{definition}[\DescribeMacro\glsabbrvdefaultfont] -\cs{glsabbrvdefaultfont}\marg{text} -\end{definition} -whereas the \abbrstyle{long-short-sc} style redefines -\cs{glsabbrvfont} to use \cs{glsxtrscfont}. If you want to use a different -font-changing command you can either redefine \cs{glsabbrvdefaultfont} and -use one of the base styles, such as \abbrstyle{long-short}, or -define a new style in a similar manner to the \qt{sc}, \qt{sm} -or \qt{em} styles. - -Similarly the basic styles redefine \cs{glsfirstabbrvfont} -to use -\begin{definition}[\DescribeMacro\glsfirstabbrvdefaultfont] -\cs{glsfirstabbrvdefaultfont}\marg{short-form} -\end{definition} -whereas the font modifier styles, such as \abbrstyle{long-short-sc}, -use their own custom command, such as \cs{glsfirstscfont}. - - -The commands that display the full form for abbreviations use -\cs{glsfirstabbrvfont} to display the short form and -\begin{definition}[\DescribeMacro\glsfirstlongfont] -\cs{glsfirstlongfont}\marg{long-form} -\end{definition} -to display the long form on \gls{firstuse} or for the inline full -format. Commands like \cs{glsxtrlong} use -\begin{definition}[\DescribeMacro\glslongfont] -\cs{glslongfont}\marg{long-form} -\end{definition} -instead. - -As with \ics{glsabbrvfont}, this command -is changed by all styles. Currently all predefined abbreviation -styles, except the \qt{long-em} (emphasize long form) versions, provided by -\styfmt{glossaries-extra} redefine -\cs{glsfirstlongfont} to use -\begin{definition}[\DescribeMacro\glsfirstlongdefaultfont] -\cs{glsfirstlongdefaultfont}\marg{long-form} -\end{definition} -and \cs{glslongfont} to use -\begin{definition}[\DescribeMacro\glslongdefaultfont] -\cs{glslongdefaultfont}\marg{long-form} -\end{definition} - -You can redefine these command if you want to change the font used by -the long form for all your abbreviations (except for the -emphasize-long styles), or you can -define your own abbreviation style that provides a different format -for only those abbreviations defined with that style. - -The \qt{long-em} (emphasize long) styles use -\begin{definition}[\DescribeMacro\glsfirstlongemfont] -\cs{glsfirstlongemfont}\marg{long-form} -\end{definition} -instead of \cs{glsfirstlongdefaultfont}\marg{long-form} and -\begin{definition}[\DescribeMacro\glslongemfont] -\cs{glslongemfont}\marg{long-form} -\end{definition} -instead of \cs{glslongdefaultfont}\marg{long-form}. The first form -\cs{glsfirstlongemfont} is initialised to use \cs{glslongemfont}. - -Note that by default inserted material (provided in the final -optional argument of commands like \cs{gls}), is placed outside the -font command in the predefined styles. To move it inside, use: -\begin{definition}[\DescribeMacro\glsxtrinsertinsidetrue] -\cs{glsxtrinsertinsidetrue} -\end{definition} -This applies to all the predefined styles. For example: -\begin{verbatim} -\setabbreviationstyle{long-short} -\renewcommand*{\glsfirstlongdefaultfont}[1]{\emph{#1}} -\glsxtrinsertinsidetrue -\end{verbatim} -This will make the long form and the inserted text emphasized, -whereas the default (without \cs{glsxtrinsertinsidetrue}) would -place the inserted text outside of the emphasized font. - -Note that for some styles, such as the \abbrstyle{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). +The way the abbreviations are displayed by commands like \cs{gls} +varies according to the abbreviation style. The styles are set +according to the entry's category so, unlike the base +\styfmt{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 \gls{firstuse} by commands like \ics{gls} and the inline full @@ -2803,6 +2756,13 @@ The \emph{inline} full form can be produced with \end{definition} (This this instead of \ics{acrfull}.) +\begin{important} +In general, it's best not to use commands like \ics{glsfirst} +for abbreviations, especially if you use the \meta{insert} +optional argument. Use either \cs{gls} (possibly with a reset) +or \cs{glsxtrfull}. +\end{important} + As mentioned earlier, the inline full form may not necessarily match the format used on \gls{firstuse} with \cs{gls}. For example, the \abbrstyle{short-nolong} style @@ -2897,37 +2857,47 @@ entry was defined. If you have mixed styles, you'll need to use \label{sec:abbrshortcuts} The abbreviation shortcut commands can be enabled using -the package option \pkgopt[abbreviation]{shortcuts} -(or \pkgopt[abbr]{shortcuts}). This defines the commands listed in +the package option \styopt[abbreviation]{shortcuts} +(or \styopt[abbr]{shortcuts}) or \styopt[ac]{shortcuts}. +(You can use both settings at the same time.) +The provided shortcut commands listed in \tableref{tab:abbrshortcuts}. \begin{table}[htbp] \caption{Abbreviation Shortcut Commands} \label{tab:abbrshortcuts} \centering -\begin{tabular}{ll} -\bfseries Shortcut & \bfseries Equivalent Command\\ -\ics{ab} & \ics{cgls}\\ -\ics{abp} & \ics{cglspl}\\ -\ics{as} & \ics{glsxtrshort}\\ -\ics{asp} & \ics{glsxtrshortpl}\\ -\ics{al} & \ics{glsxtrlong}\\ -\ics{alp} & \ics{glsxtrlongpl}\\ -\ics{af} & \ics{glsxtrfull}\\ -\ics{afp} & \ics{glsxtrfullpl}\\ -\ics{As} & \ics{Glsxtrshort}\\ -\ics{Asp} & \ics{Glsxtrshortpl}\\ -\ics{Al} & \ics{Glsxtrlong}\\ -\ics{Alp} & \ics{Glsxtrlongpl}\\ -\ics{Af} & \ics{Glsxtrfull}\\ -\ics{Afp} & \ics{Glsxtrfullpl}\\ -\ics{AS} & \ics{GLSxtrshort}\\ -\ics{ASP} & \ics{GLSxtrshortpl}\\ -\ics{AL} & \ics{GLSxtrlong}\\ -\ics{ALP} & \ics{GLSxtrlongpl}\\ -\ics{AF} & \ics{GLSxtrfull}\\ -\ics{AFP} & \ics{GLSxtrfullpl}\\ -\ics{newabbr} & \ics{newabbreviation} +\begin{tabular}{lll} +\bfseries Shortcut & +\bfseries Shortcut & +\bfseries Equivalent Command\\ +\bfseries (\pkgopt[abbreviation]{shortcuts}) & +\bfseries (\pkgopt[ac]{shortcuts})\\ +\ics{ab} & \ics{ac} & \ics{cgls}\\ +\ics{abp} & \ics{acp} & \ics{cglspl}\\ +\ics{as} & \ics{acs} & \ics{glsxtrshort}\\ +\ics{asp} & \ics{acsp} & \ics{glsxtrshortpl}\\ +\ics{al} & \ics{acl} & \ics{glsxtrlong}\\ +\ics{alp} & \ics{aclp} & \ics{glsxtrlongpl}\\ +\ics{af} & \ics{acf} & \ics{glsxtrfull}\\ +\ics{afp} & \ics{acfp} & \ics{glsxtrfullpl}\\ +\ics{Ab} & \ics{Ac} & \ics{cgls}\\ +\ics{Abp} & \ics{Acp} & \ics{cglspl}\\ +\ics{As} & \ics{Acs} & \ics{Glsxtrshort}\\ +\ics{Asp} & \ics{Acsp} & \ics{Glsxtrshortpl}\\ +\ics{Al} & \ics{Acl} & \ics{Glsxtrlong}\\ +\ics{Alp} & \ics{Aclp} & \ics{Glsxtrlongpl}\\ +\ics{Af} & \ics{Acf} & \ics{Glsxtrfull}\\ +\ics{Afp} & \ics{Acfp} & \ics{Glsxtrfullpl}\\ +\ics{AB} & \ics{AC} & \ics{cGLS}\\ +\ics{ABP} & \ics{ACP} & \ics{cGLSpl}\\ +\ics{AS} & \ics{ACS} & \ics{GLSxtrshort}\\ +\ics{ASP} & \ics{ACSP} & \ics{GLSxtrshortpl}\\ +\ics{AL} & \ics{ACL} & \ics{GLSxtrlong}\\ +\ics{ALP} & \ics{ACLP} & \ics{GLSxtrlongpl}\\ +\ics{AF} & \ics{ACF} & \ics{GLSxtrfull}\\ +\ics{AFP} & \ics{ACFP} & \ics{GLSxtrfullpl}\\ +\ics{newabbr} & \ics{newabbr} & \ics{newabbreviation} \end{tabular} \end{table} @@ -2960,6 +2930,9 @@ In both cases, the \gls{firstuse} of \ics{gls} may not match the text produced by \ics{glsfirst} (and likewise for the plural and case-changing versions). +The sample file \texttt{sample-abbr-styles.tex} demonstrates all +predefined styles described here. + \begin{important} For the \qt{sc} styles that use \ics{textsc}, be careful about your choice of fonts as some only have limited support. For @@ -2968,29 +2941,66 @@ recommend that you at least use the \sty{fontenc} package with the \pkgoptfmt{T1} option or something similar. \end{important} -The \qt{sc} styles all use -\begin{definition}[\DescribeMacro\glsxtrscfont] -\cs{glsxtrscfont}\marg{text} +The parenthetical styles, such as \abbrstyle{long-short}, +use +\begin{definition}[\DescribeMacro\glsxtrparen] +\cs{glsxtrparen}\marg{text} +\end{definition} +to set the parenthetical material. This just puts parentheses around +the text: (\meta{text}). + +The basic abbreviation styles, such as \abbrstyle{long-short} +and \abbrstyle{short-long} use +\begin{definition}[\DescribeMacro\glsabbrvdefaultfont] +\cs{glsabbrvdefaultfont}\marg{text} \end{definition} -which is defined as -\begin{verbatim} -\newcommand*{\glsxtrscfont}[1]{\textsc{#1}} -\end{verbatim} -and -\begin{definition}[\DescribeMacro\glsxtrfirstscfont] -\cs{glsxtrfirstscfont}\marg{text} +for the short form. This just does \meta{text} by default. +(That is, no font change is applied.) On first use, +\begin{definition}[\DescribeMacro\glsfirstabbrvdefaultfont] +\cs{glsfirstabbrvdefaultfont}\marg{text} \end{definition} -which is defined as -\begin{verbatim} -\newcommand*{\glsxtrfirstscfont}[1]{\glsxtrscfont{#1}} -\end{verbatim} -The default plural suffix for the short form is set to +is used instead. By default, this just does +\cs{glsabbrvdefaultfont}. The long form is formatted according to +\begin{definition}[\DescribeMacro\glslongdefaultfont] +\cs{glslongdefaultfont}\marg{text} +\end{definition} +which again just does \meta{text} (no font change). On first use, +\begin{definition}[\DescribeMacro\glsfirstlongdefaultfont] +\cs{glsfirstlongdefaultfont}\marg{text} +\end{definition} +is used instead. This just does \cs{glslongdefaultfont}. +The plural suffix used for the short form is given by +\begin{definition}[\DescribeMacro\glsxtrabbrvpluralsuffix] +\cs{glsxtrabbrvpluralsuffix} +\end{definition} +which defaults to \ics{glspluralsuffix}. + +The small-cap styles, such as \abbrstyle{long-short-sc} +and \abbrstyle{short-sc-long}, use +\begin{definition}[\DescribeMacro\glsabbrvscfont] +\cs{glsabbrvscfont}\marg{text} +\end{definition} +which uses \cs{textsc}.\footnote{For compatibility with earlier +versions, \cs{glsabbrvscfont} is defined to \cs{glsxtrscfont}, +which is defined to use \cs{textsc}. Direct use of +\cs{glsxtrscfont} is now deprecated. Likewise for similar commands.} +On first use +\begin{definition}[\DescribeMacro\glsabbrvdefaultfont] +\cs{glsfirstabbrvscfont}\marg{text} +\end{definition} +is used instead. This uses \cs{glsabbrvscfont} by default. +So redefine, \cs{glsabbrvscfont} to change first and subsequent uses or +\cs{glsfirstabbrvscfont} to change just the first use. + +The long form for the small-cap styles uses \cs{glslongdefaultfont} +or \cs{glsfirstlongdefaultfont}, as with the basic style. +The suffix is given by \begin{definition}[\DescribeMacro\glsxtrscsuffix] \cs{glsxtrscsuffix} \end{definition} -This just defined as +This is defined as \begin{verbatim} -\newcommand*{\glsxtrscsuffix}{\glstextup{\glspluralsuffix}} +\newcommand*{\glsxtrscsuffix}{\glstextup{\glsxtrabbrvpluralsuffix}} \end{verbatim} The \ics{glstextup} command is provided by \styfmt{glossaries} and is used to switch off the small caps font for the suffix. @@ -3002,59 +3012,160 @@ through the use of the \catattr{aposplural} and \catattr{noshortplural} attributes. See \sectionref{sec:categories} for further details.) -Remember that \cs{textsc} renders \emph{lowercase} letters as small -capitals. Uppercase letters are rendered as normal uppercase -letters, so if you specify the short form in uppercase, you won't -get small capitals unless you redefine \cs{glsxtrscfont} to -convert its argument to lowercase. For example: -\begin{verbatim} -\renewcommand*{\glsxtrscfont}[1]{\textsc{\MakeLowercase{#1}}} -\end{verbatim} - -The \qt{sm} styles all use -\begin{definition}[\DescribeMacro\glsxtrsmfont] -\cs{glsxtrsmfont}\marg{text} +The small styles, such as \abbrstyle{long-short-sm} +and \abbrstyle{short-sm-long}, use +\begin{definition}[\DescribeMacro\glsabbrvsmfont] +\cs{glsabbrvsmfont}\marg{text} \end{definition} -This is defined as: -\begin{verbatim} -\newcommand*{\glsxtrsmfont}[1]{\textsmaller{#1}} -\end{verbatim} -and -\begin{definition}[\DescribeMacro\glsxtrfirstsmfont] -\cs{glsxtrfirstsmfont}\marg{text} +which uses \cs{textsmaller}. (This requires the \sty{relsizes} +package, which isn't loaded by \styfmt{glossaries-extra}, so must be +loaded explicitly.) +On first use +\begin{definition}[\DescribeMacro\glsfirstabbrvsmfont] +\cs{glsfirstabbrvsmfont}\marg{text} \end{definition} -which is defined as -\begin{verbatim} -\newcommand*{\glsxtrfirstsmfont}[1]{\glsxtrsmfont{#1}} -\end{verbatim} -If you want to use this style, you must explicitly load the \sty{relsize} -package which defines the \ics{textsmaller} command. If you want to -easily switch between the \qt{sc} and \qt{sm} styles, you may find -it easier to redefine this command to convert to upper case: -\begin{verbatim} -\renewcommand*{\glsxtrsmfont}[1]{\textsmaller{\MakeTextUppercase{#1}}} -\end{verbatim} -The default plural suffix for the short form is set to +is used instead. This uses \cs{glsabbrvsmfont} by default. + +The long form for the smaller styles uses \cs{glslongdefaultfont} +or \cs{glsfirstlongdefaultfont}, as with the basic style. +The suffix is given by \begin{definition}[\DescribeMacro\glsxtrsmsuffix] \cs{glsxtrsmsuffix} \end{definition} -This just does \ics{glspluralsuffix}. +which defaults to just \cs{glsxtrabbrvpluralsuffix}. -The \qt{em} styles all use +The \qt{short-em} (emphasize short) styles, such as +\abbrstyle{long-short-em} or \abbrstyle{short-em-long}, use \begin{definition}[\DescribeMacro\glsabbrvemfont] \cs{glsabbrvemfont}\marg{text} \end{definition} -which is defined as: -\begin{verbatim} -\newcommand*{\glsabbrvemfont}[1]{\emph{#1}} -\end{verbatim} -and +On first use \begin{definition}[\DescribeMacro\glsfirstabbrvemfont] \cs{glsfirstabbrvemfont}\marg{text} \end{definition} -which is defined as: +is used instead. This uses \cs{glsabbrvemfont} by default. +The suffix is given by +\begin{definition}[\DescribeMacro\glsxtremsuffix] +\cs{glsxtremsuffix} +\end{definition} +which defaults to just \cs{glsxtrabbrvpluralsuffix}. +The long form is as for the basic style unless the style +is a \qt{long-em} style. + +The \qt{long-em} (emphasize long) styles, such as +\abbrstyle{long-em-short-em} or \abbrstyle{short-em-long-em}, use +\begin{definition}[\DescribeMacro\glsfirstlongemfont] +\cs{glsfirstlongemfont}\marg{long-form} +\end{definition} +instead of \cs{glsfirstlongdefaultfont}\marg{long-form} and +\begin{definition}[\DescribeMacro\glslongemfont] +\cs{glslongemfont}\marg{long-form} +\end{definition} +instead of \cs{glslongdefaultfont}\marg{long-form}. The first form +\cs{glsfirstlongemfont} is initialised to use \cs{glslongemfont}. + +The user styles have similar commands: +\begin{definition}[\DescribeMacro\glsabbrvuserfont] +\cs{glsabbrvuserfont}\marg{text} +\end{definition} +for the short form, +\begin{definition}[\DescribeMacro\glsfirstabbrvuserfont] +\cs{glsfirstabbrvuserfont}\marg{text} +\end{definition} +for the first use short form, +\begin{definition}[\DescribeMacro\glslonguserfont] +\cs{glslonguserfont}\marg{text} +\end{definition} +for the long form, +\begin{definition}[\DescribeMacro\glsfirstlonguserfont] +\cs{glsfirstlonguserfont}\marg{text} +\end{definition} +for the first use long form, and +\begin{definition}[\DescribeMacro\glsxtrusersuffix] +\cs{glsxtrusersuffix} +\end{definition} +for the short plural suffix. + +Similarly for the hyphen styles: +\begin{definition}[\DescribeMacro\glsabbrvhyphenfont] +\cs{glsabbrvhyphenfont}\marg{text} +\end{definition} +for the short form, +\begin{definition}[\DescribeMacro\glsfirstabbrvhyphenfont] +\cs{glsfirstabbrvhyphenfont}\marg{text} +\end{definition} +for the first use short form, +\begin{definition}[\DescribeMacro\glslonghyphenfont] +\cs{glslonghyphenfont}\marg{text} +\end{definition} +for the long form, +\begin{definition}[\DescribeMacro\glsfirstlonghyphenfont] +\cs{glsfirstlonghyphenfont}\marg{text} +\end{definition} +for the first use long form, and +\begin{definition}[\DescribeMacro\glsxtrhyphensuffix] +\cs{glsxtrhyphensuffix} +\end{definition} +for the short plural suffix. + +Similarly for the \qt{only} styles, such as +\abbrstyle{long-only-short-only}: +\begin{definition}[\DescribeMacro\glsabbrvonlyfont] +\cs{glsabbrvonlyfont}\marg{text} +\end{definition} +for the short form, +\begin{definition}[\DescribeMacro\glsfirstabbrvonlyfont] +\cs{glsfirstabbrvonlyfont}\marg{text} +\end{definition} +for the first use short form, +\begin{definition}[\DescribeMacro\glslongonlyfont] +\cs{glslongonlyfont}\marg{text} +\end{definition} +for the long form, +\begin{definition}[\DescribeMacro\glsfirstlongonlyfont] +\cs{glsfirstlongonlyfont}\marg{text} +\end{definition} +for the first use long form, and +\begin{definition}[\DescribeMacro\glsxtronlysuffix] +\cs{glsxtronlysuffix} +\end{definition} +for the short plural suffix. + +Note that by default inserted material (provided in the final +optional argument of commands like \cs{gls}), is placed outside the +font command in the predefined styles. To move it inside, use: +\begin{definition}[\DescribeMacro\glsxtrinsertinsidetrue] +\cs{glsxtrinsertinsidetrue} +\end{definition} +This applies to all the predefined styles. For example: +\begin{verbatim} +\setabbreviationstyle{long-short} +\renewcommand*{\glsfirstlongdefaultfont}[1]{\emph{#1}} +\glsxtrinsertinsidetrue +\end{verbatim} +This will make the long form and the inserted text emphasized, +whereas the default (without \cs{glsxtrinsertinsidetrue}) would +place the inserted text outside of the emphasized font. + +Note that for some styles, such as the \abbrstyle{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 \cs{textsc} renders \emph{lowercase} letters as small +capitals. Uppercase letters are rendered as normal uppercase +letters, so if you specify the short form in uppercase, you won't +get small capitals unless you redefine \cs{glsabbrvscfont} to +convert its argument to lowercase. For example: +\begin{verbatim} +\renewcommand*{\glsabbrvscfont}[1]{\textsc{\MakeLowercase{#1}}} +\end{verbatim} + +If you want to +easily switch between the \qt{sc} and \qt{sm} styles, you may find +it easier to redefine this command to convert case: \begin{verbatim} -\newcommand*{\glsfirstabbrvemfont}[1]{\glsabbrvemfont{#1}} +\renewcommand*{\glsabbrvscfont}[1]{\textsc{\MakeTextLowercase{#1}}} +\renewcommand*{\glsabbrvsmfont}[1]{\textsmaller{\MakeTextUppercase{#1}}} \end{verbatim} Some of the styles use @@ -3074,7 +3185,7 @@ or The new naming scheme for abbreviation styles is as follows: \begin{itemize} \item -\meta{field1}[\texttt{-}\meta{modifier1}]\texttt{-}\meta{field2}[\texttt{-}\meta{modifier2}][\texttt{-user}] +\meta{field1}[\texttt{-}\meta{modifier1}]\texttt{-}[post]\meta{field2}[\texttt{-}\meta{modifier2}][\texttt{-user}] This is for the parenthetical styles. The \texttt{-}\meta{modifier} parts may be omitted. These styles display \meta{field1} followed by @@ -3085,6 +3196,9 @@ is included in the inline style. If the \texttt{-}\meta{modifier} part is present, then the field has a font changing command applied to it. +If \texttt{post} is present then \meta{field2} is +placed after the \gls{linktext} using the post-link hook. + If the \texttt{-user} part is present, then the \gloskey{user1} value, if provided, is inserted into the parenthetical material . (The field used for the inserted material may be changed.) @@ -3101,8 +3215,32 @@ short form is emphasized but not the long form. The short form is in parentheses \item\abbrstyle{long-short-user}: if the \gloskey{user1} key has been set, this produces the style \meta{long} (\meta{short}, \meta{user1}) otherwise it just produces \meta{long} (\meta{short}). + + \item\abbrstyle{long-hyphen-postshort-hyphen}: the short +form and the inserted material (provided by the final optional +argument of commands like \cs{gls}) is moved to the post-link hook. +The long form is formatted according to \cs{glslonghyphenfont} +(or \cs{glsfirstlonghyphenfont} on first use). +The short form is formatted according to \cs{glsabbrvhyphenfont} +(or \cs{glsfirstabbrvhyphenfont} on first use). \end{itemize} +\item \meta{style}\texttt{-noreg} + +Some styles set the \catattr{regular} attribute. In some cases, +there's a version of the style that doesn't set this attribute. +For example, \abbrstyle{long-em-noshort-em} sets the +\catattr{regular} attribute. The +\abbrstyle{long-em-noshort-em-noreg} style is a minor variation +that style that doesn't set the attribute. + +There are a few \qt{noshort} styles, such as +\abbrstyle{long-hyphen-noshort-noreg}, that have +\qt{-noreg} version without a regular version. This is because the +style won't work properly with the \catattr{regular} set, but the +naming scheme is maintained for consistency with the other +\qt{noshort} styles. + \item \meta{field1}[\texttt{-}\meta{modifier1}]\texttt{-}[\texttt{post}]\texttt{footnote} @@ -3165,34 +3303,34 @@ attribute to \qt{true} for all categories that have abbreviations defined with any of these styles. \begin{description} -\item[\abbrstyle{short-nolong}] +\item[\abbrstyledef{short-nolong}] This only displays the short form on \gls{firstuse}. The \gloskey{name} is set to the short form. The \gloskey{description} is set to the long form. The inline full form displays \meta{short} (\meta{long}). The long form on its own can be displayed through commands like \ics{glsxtrlong}. -\item[\abbrstyle{short}] A synonym for \abbrstyle{short-nolong}. +\item[\abbrstyledef{short}] A synonym for \abbrstyle{short-nolong}. -\item[\abbrstyle{short-sc-nolong}] +\item[\abbrstyledef{short-sc-nolong}] Like \abbrstyle{short-nolong} but redefines \cs{glsabbrvfont} to -use \ics{glsxtrscfont}. +use \ics{glsabbrvscfont} (which defaults to \cs{textsc}). -\item[\abbrstyle{short-sc}] A synonym for \abbrstyle{short-sc-nolong} +\item[\abbrstyledef{short-sc}] A synonym for \abbrstyle{short-sc-nolong} -\item[\abbrstyle{short-sm-nolong}] +\item[\abbrstyledef{short-sm-nolong}] Like \abbrstyle{short-nolong} but redefines \cs{glsabbrvfont} to -use \ics{glsxtrsmfont}. +use \ics{glsabbrvsmfont} (which defaults to \cs{textsmaller}). -\item[\abbrstyle{short-sm}] A synonym for \abbrstyle{short-sm-nolong}. +\item[\abbrstyledef{short-sm}] A synonym for \abbrstyle{short-sm-nolong}. -\item[\abbrstyle{short-em-nolong}] +\item[\abbrstyledef{short-em-nolong}] Like \abbrstyle{short-nolong} but redefines \cs{glsabbrvfont} to -use \ics{glsxtremfont}. +use \ics{glsabbrvemfont}. -\item[\abbrstyle{short-em}] A synonym for \abbrstyle{short-em-nolong} +\item[\abbrstyledef{short-em}] A synonym for \abbrstyle{short-em-nolong} -\item[\abbrstyle{short-nolong-desc}] +\item[\abbrstyledef{short-nolong-desc}] Like the \abbrstyle{short-nolong} style, but the \gloskey{name} is set to the full form and the \gloskey{description} must be supplied by the user. You may prefer to use the \abbrstyle{short-nolong} style with the @@ -3200,31 +3338,31 @@ post-description hook set to display the long form and override the \gloskey{description} key. (See the sample file \texttt{sample-acronym-desc.tex}.) -\item[\abbrstyle{short-desc}] A synonym for +\item[\abbrstyledef{short-desc}] A synonym for \abbrstyle{short-nolong-desc}. -\item[\abbrstyle{short-sc-nolong-desc}] +\item[\abbrstyledef{short-sc-nolong-desc}] Like \abbrstyle{short-nolong} but redefines \cs{glsabbrvfont} to -use \ics{glsxtrscfont}. +use \ics{glsabbrvscfont} (which defaults to \cs{textsc}). -\item[\abbrstyle{short-sc-desc}] A synonym for +\item[\abbrstyledef{short-sc-desc}] A synonym for \abbrstyle{short-sc-nolong-desc}. -\item[\abbrstyle{short-sm-nolong-desc}] +\item[\abbrstyledef{short-sm-nolong-desc}] Like \abbrstyle{short-nolong-desc} but redefines \cs{glsabbrvfont} to -use \ics{glsxtrsmfont}. +use \ics{glsabbrvsmfont} (which defaults to \cs{textsmaller}). -\item[\abbrstyle{short-sm-desc}] A synonym for +\item[\abbrstyledef{short-sm-desc}] A synonym for \abbrstyle{short-sm-nolong-desc}. -\item[\abbrstyle{short-em-nolong-desc}] +\item[\abbrstyledef{short-em-nolong-desc}] Like \abbrstyle{short-nolong-desc} but redefines \cs{glsabbrvfont} to -use \ics{glsxtremfont}. +use \ics{glsabbrvemfont}. -\item[\abbrstyle{short-em-desc}] A synonym for +\item[\abbrstyledef{short-em-desc}] A synonym for \abbrstyle{short-em-nolong-desc}. -\item[\abbrstyle{long-noshort-desc}] +\item[\abbrstyledef{long-noshort-desc}] This style only displays the long form, regardless of first or subsequent use of commands \ics{gls}. The short form may be accessed through commands like \ics{glsxtrshort}. The inline full @@ -3237,36 +3375,36 @@ post-description hook to automatically append the short form to the description. The inline full form will display \meta{long} (\meta{short}). -\item[\abbrstyle{long-desc}] A synonym for +\item[\abbrstyledef{long-desc}] A synonym for \abbrstyle{long-noshort-desc}. -\item[\abbrstyle{long-noshort-sc-desc}] +\item[\abbrstyledef{long-noshort-sc-desc}] Like the \abbrstyle{long-noshort-desc} style but the short form (accessed -through commands like \ics{glsxtrshort}) use \ics{glsxtrscfont}. +through commands like \ics{glsxtrshort}) use \ics{glsabbrvscfont}. (This style was originally called \depabbrstyle{long-desc-sc}. Renamed in version 1.04, but original name retained as a deprecated synonym for backward-compatibility.) -\item[\abbrstyle{long-noshort-sm-desc}] +\item[\abbrstyledef{long-noshort-sm-desc}] Like \abbrstyle{long-noshort-desc} but redefines \cs{glsabbrvfont} to -use \ics{glsxtrsmfont}. +use \ics{glsabbrvsmfont}. (This style was originally called \depabbrstyle{long-desc-sm}. Renamed in version 1.04, but original name retained as a deprecated synonym for backward-compatibility.) -\item[\abbrstyle{long-noshort-em-desc}] +\item[\abbrstyledef{long-noshort-em-desc}] Like \abbrstyle{long-noshort-desc} but redefines \cs{glsabbrvfont} to -use \ics{glsxtremfont}. The long form isn't emphasized. +use \ics{glsabbrvemfont}. The long form isn't emphasized. (This style was originally called \depabbrstyle{long-desc-em}. Renamed in version 1.04, but original name retained as a deprecated synonym for backward-compatibility.) -\item[\abbrstyle{long-em-noshort-em-desc}] +\item[\abbrstyledef{long-em-noshort-em-desc}] New to version 1.04, like \abbrstyle{long-noshort-desc} but redefines -\cs{glsabbrvfont} to use \ics{glsxtremfont}. The long form uses +\cs{glsabbrvfont} to use \ics{glsabbrvemfont}. The long form uses \ics{glsfirstlongemfont} and \ics{glslongemfont}. -\item[\abbrstyle{long-noshort}] +\item[\abbrstyledef{long-noshort}] This style doesn't really make sense if you don't use the short form anywhere in the document, but is provided for completeness. This is like the \abbrstyle{long-noshort-desc} style, but the \gloskey{name} @@ -3274,35 +3412,37 @@ and \gloskey{sort} keys are set to the short form and the \gloskey{description} is set to the long form. -\item[\abbrstyle{long}] A synonym for \abbrstyle{long-noshort} +\item[\abbrstyledef{long}] A synonym for \abbrstyle{long-noshort} -\item[\abbrstyle{long-noshort-sc}] +\item[\abbrstyledef{long-noshort-sc}] Like the \abbrstyle{long-noshort} style but the short form (accessed -through commands like \ics{glsxtrshort}) use \ics{glsxtrscfont}. +through commands like \ics{glsxtrshort}) use \ics{glsabbrvscfont}. (This style was originally called \depabbrstyle{long-sc}. Renamed in version 1.04, but original name retained as a deprecated synonym for backward-compatibility.) -\item[\abbrstyle{long-noshort-sm}] +\item[\abbrstyledef{long-noshort-sm}] Like \abbrstyle{long-noshort} but redefines \cs{glsabbrvfont} to -use \ics{glsxtrsmfont}. +use \ics{glsabbrvsmfont}. (This style was originally called \depabbrstyle{long-sm}. Renamed in version 1.04, but original name retained as a deprecated synonym for backward-compatibility.) -\item[\abbrstyle{long-noshort-em}] +\item[\abbrstyledef{long-noshort-em}] This style is like \abbrstyle{long-noshort} but redefines \cs{glsabbrvfont} to -use \ics{glsxtremfont}. The long form isn't emphasized. +use \ics{glsabbrvemfont}. The long form isn't emphasized. (This style was originally called \depabbrstyle{long-em}. Renamed in version 1.04, but original name retained as a deprecated synonym for backward-compatibility.) -\item[\abbrstyle{long-em-noshort-em}] +\item[\abbrstyledef{long-em-noshort-em}] New to version 1.04, this style is like \abbrstyle{long-noshort} but redefines \cs{glsabbrvfont} to -use \ics{glsxtremfont}, \cs{glsfirstlongfont} to use +use \ics{glsabbrvemfont}, \cs{glsfirstlongfont} to use \cs{glsfirstlongemfont} and \cs{glslongfont} to use \cs{glslongemfont}. The short form isn't used by commands like \ics{gls}, but can be obtained using \ics{glsxtrshort}. +The related style \abbrstyledef{long-em-noshort-em-noreg} +doesn't set the \catattr{regular} attribute. \end{description} @@ -3316,7 +3456,7 @@ been set. If it hasn't already been set, it's left unset. Other attributes may also be set, depending on the style. \begin{description} -\item[\abbrstyle{long-short}] +\item[\abbrstyledef{long-short}] On \gls{firstuse}, this style uses the format \meta{long} (\meta{short}). The inline and display full forms are the same. The \gloskey{name} and \gloskey{sort} keys are set to the short form. (The @@ -3327,23 +3467,39 @@ forms are separated by \cs{glsxtrfullsep}. If you want to insert material within the parentheses (such as a~translation), try the \abbrstyle{long-short-user} style. -\item[\abbrstyle{long-short-sc}] +\item[\abbrstyledef{long-short-sc}] Like \abbrstyle{long-short} but redefines \cs{glsabbrvfont} to -use \ics{glsxtrscfont}. +use \ics{glsabbrvscfont}. -\item[\abbrstyle{long-short-sm}] +\item[\abbrstyledef{long-short-sm}] Like \abbrstyle{long-short} but redefines \cs{glsabbrvfont} to -use \ics{glsxtrsmfont}. +use \ics{glsabbrvsmfont}. -\item[\abbrstyle{long-short-em}] +\item[\abbrstyledef{long-short-em}] Like \abbrstyle{long-short} but redefines \cs{glsabbrvfont} to -use \ics{glsxtremfont}. +use \ics{glsabbrvemfont}. -\item[\abbrstyle{long-em-short-em}] +\item[\abbrstyledef{long-em-short-em}] New to version 1.04, this style is like \abbrstyle{long-short-em} but redefines \cs{glsfirstlongfont} to use \ics{glsfirstlongemfont}. -\item[\abbrstyle{long-short-user}] +\item[\abbrstyledef{long-only-short-only}] +New to version 1.17, this style only shows the long form +on first use and only shows the short form on subsequent use. +The inline full form \cs{glsxtrfull} shows the long form +followed by the short form in parentheses. + +\item[\abbrstyledef{long-only-short-only-desc}] +New to version 1.17, this style is like +\abbrstyle{long-only-short-only} but the user must supply the +description. + +\item[\abbrstyledef{long-em-noshort-em-noreg}] +New to version 1.17, this style is like +\abbrstyle{long-em-noshort-em} but +doesn't set the \catattr{regular} attribute. + +\item[\abbrstyledef{long-short-user}] This style was introduced in version 1.04. It's like the \abbrstyle{long-short} style but additional information can be inserted into the parenthetical material. This checks the value @@ -3364,7 +3520,9 @@ The format is governed by where \meta{text} is the short form (for the \abbrstyle{long-short-user} style) or the long form (for the \abbrstyle{short-long-user} style). This command first inserts -a space using \cs{glsxtrfullsep} and then the parenthetical content. +a space using \cs{glsxtrfullsep} and then the parenthetical content +(using \ics{glsxtrparen}). + The \meta{text} argument includes the font formatting command, \cs{glsfirstabbrvfont}\marg{short} in the case of the \abbrstyle{long-short-user} style and @@ -3404,11 +3562,19 @@ These may be redefined as appropriate. For example, if you want a~smallcaps style, you can just set these commands to those used by the \abbrstyle{long-short-sc} style: \begin{verbatim} -\renewcommand{\glsabbruserfont}[1]{\glsxtrscfont{#1}} +\renewcommand{\glsabbruserfont}[1]{\glsabbrvscfont{#1}} \renewcommand{\glsxtrusersuffix}{\glsxtrscsuffix} \end{verbatim} -\item[\abbrstyle{long-short-desc}] +\item[\abbrstyledef{long-noshort-noreg}] +This style is like \abbrstyle{long-noshort} but it doesn't +set the \catattr{regular} attribute. + +\item[\abbrstyledef{long-noshort-desc-noreg}] +This style is like \abbrstyle{long-noshort-desc} but it doesn't +set the \catattr{regular} attribute. + +\item[\abbrstyledef{long-short-desc}] On \gls{firstuse}, this style uses the format \meta{long} (\meta{short}). The inline and display full forms are the same. The \gloskey{name} is set to the full form. The \gloskey{sort} key is set to @@ -3425,24 +3591,29 @@ For example: The \gloskey{description} must be supplied by the user. The long and short forms are separated by \cs{glsxtrfullsep}. -\item[\abbrstyle{long-short-sc-desc}] +\item[\abbrstyledef{long-short-sc-desc}] Like \abbrstyle{long-short-desc} but redefines \cs{glsabbrvfont} to -use \ics{glsxtrscfont}. +use \ics{glsabbrvscfont}. -\item[\abbrstyle{long-short-sm-desc}] +\item[\abbrstyledef{long-short-sm-desc}] Like \abbrstyle{long-short-desc} but redefines \cs{glsabbrvfont} to -use \ics{glsxtrsmfont}. +use \ics{glsabbrvsmfont}. -\item[\abbrstyle{long-short-em-desc}] +\item[\abbrstyledef{long-short-em-desc}] Like \abbrstyle{long-short-desc} but redefines \cs{glsabbrvfont} to -use \ics{glsxtremfont}. +use \ics{glsabbrvemfont}. -\item[\abbrstyle{long-em-short-em-desc}] +\item[\abbrstyledef{long-em-short-em-desc}] New to version 1.04, this style is like \abbrstyle{long-short-em-desc} but redefines \cs{glsfirstlongfont} to use \ics{glsfirstlongemfont}. +\item[\abbrstyledef{long-em-noshort-em-desc-noreg}] +New to version 1.17, this style is like +\abbrstyle{long-em-noshort-em-desc} but +doesn't set the \catattr{regular} attribute. -\item[\abbrstyle{long-short-user-desc}] + +\item[\abbrstyledef{long-short-user-desc}] New to version 1.04, this style is like a~cross between the \abbrstyle{long-short-desc} style and the \abbrstyle{long-short-user} style. The display and inline forms are @@ -3452,7 +3623,11 @@ supplied in the optional argument of \cs{newabbreviation} (or \cs{newacronym}). The \gloskey{sort} key is set to \meta{long} (\meta{short}) as per the \abbrstyle{long-short-desc} style. -\item[\abbrstyle{short-long}] +\item[\abbrstyledef{short-nolong-noreg}] +This is like \abbrstyle{short-nolong} but doesn't set the +\catattr{regular} attribute. + +\item[\abbrstyledef{short-long}] On \gls{firstuse}, this style uses the format \meta{short} (\meta{long}). The inline and display full forms are the same. The \gloskey{name} and \gloskey{sort} keys are set to the short form. The @@ -3462,53 +3637,57 @@ If you want to insert material within the parentheses (such as a~translation), try the \abbrstyle{short-long-user} style. -\item[\abbrstyle{short-sc-long}] +\item[\abbrstyledef{short-sc-long}] Like \abbrstyle{short-long} but redefines \cs{glsabbrvfont} to -use \ics{glsxtrscfont}. +use \ics{glsabbrvscfont}. -\item[\abbrstyle{short-sm-long}] +\item[\abbrstyledef{short-sm-long}] Like \abbrstyle{short-long} but redefines \cs{glsabbrvfont} to -use \ics{glsxtrsmfont}. +use \ics{glsabbrvsmfont}. -\item[\abbrstyle{short-em-long}] +\item[\abbrstyledef{short-em-long}] Like \abbrstyle{short-long} but redefines \cs{glsabbrvfont} to -use \ics{glsxtremfont}. +use \ics{glsabbrvemfont}. -\item[\abbrstyle{short-em-long-em}] +\item[\abbrstyledef{short-em-long-em}] New to version 1.04, this style is like \abbrstyle{short-em-long} but redefines \cs{glsfirstlongfont} to use \ics{glsfirstlongemfont}. -\item[\abbrstyle{short-long-user}] +\item[\abbrstyledef{short-long-user}] New to version 1.04. This style is like the \abbrstyle{long-short-user} style but with the long and short forms switched. The parenthetical material is governed by the same command \ics{glsxtruserparen}, but the first argument supplied to it is the long form instead of the short form. -\item[\abbrstyle{short-long-desc}] +\item[\abbrstyledef{short-nolong-desc-noreg}] +This style is like \abbrstyle{short-nolong-desc} but it doesn't +set the \catattr{regular} attribute. + +\item[\abbrstyledef{short-long-desc}] On \gls{firstuse}, this style uses the format \meta{short} (\meta{long}). The inline and display full forms are the same. The \gloskey{name} is set to the full form. The \gloskey{description} must be supplied by the user. The short and long forms are separated by \cs{glsxtrfullsep}. -\item[\abbrstyle{short-sc-long-desc}] +\item[\abbrstyledef{short-sc-long-desc}] Like \abbrstyle{short-long-desc} but redefines \cs{glsabbrvfont} to -use \ics{glsxtrscfont}. +use \ics{glsabbrvscfont}. -\item[\abbrstyle{short-sm-long-desc}] +\item[\abbrstyledef{short-sm-long-desc}] Like \abbrstyle{short-long-desc} but redefines \cs{glsabbrvfont} to -use \ics{glsxtrsmfont}. +use \ics{glsabbrvsmfont}. -\item[\abbrstyle{short-em-long-desc}] +\item[\abbrstyledef{short-em-long-desc}] Like \abbrstyle{short-long-desc} but redefines \cs{glsabbrvfont} to -use \ics{glsxtremfont}. +use \ics{glsabbrvemfont}. -\item[\abbrstyle{short-em-long-em-desc}] +\item[\abbrstyledef{short-em-long-em-desc}] New to version 1.04, this style is like \abbrstyle{short-em-long-desc} but redefines \cs{glsfirstlongfont} to use \ics{glsfirstlongemfont}. -\item[\abbrstyle{short-long-user-desc}] +\item[\abbrstyledef{short-long-user-desc}] New to version 1.04, this style is like a~cross between the \abbrstyle{short-long-desc} style and the \abbrstyle{short-long-user} style. The display and inline forms are @@ -3517,7 +3696,7 @@ as for \abbrstyle{short-long-user} and the \gloskey{name} key is as supplied in the optional argument of \cs{newabbreviation} (or \cs{newacronym}). -\item[\abbrstyle{short-footnote}] +\item[\abbrstyledef{short-footnote}] On \gls{firstuse}, this style displays the short form with the long form as a footnote. This style automatically sets the \catattr{nohyperfirst} attribute to \qt{true} for the supplied @@ -3561,31 +3740,31 @@ Note that I haven't used commands like \cs{glsxtrshort} to avoid interference (see \sectionref{sec:entryfmtmods} and \sectionref{sec:nested}). -\item[\abbrstyle{footnote}] A synonym for +\item[\abbrstyledef{footnote}] A synonym for \abbrstyle{short-footnote}. -\item[\abbrstyle{short-sc-footnote}] +\item[\abbrstyledef{short-sc-footnote}] Like \abbrstyle{short-footnote} but redefines \cs{glsabbrvfont} to -use \ics{glsxtrscfont}. +use \ics{glsabbrvscfont}. (This style was originally called \depabbrstyle{footnote-sc}. Renamed in version 1.04, but original name retained as a deprecated synonym for backward-compatibility.) -\item[\abbrstyle{short-sc-footnote}] +\item[\abbrstyledef{short-sc-footnote}] Like \abbrstyle{short-footnote} but redefines \cs{glsabbrvfont} to -use \ics{glsxtrsmfont}. +use \ics{glsabbrvsmfont}. (This style was originally called \depabbrstyle{footnote-sm}. Renamed in version 1.04, but original name retained as a deprecated synonym for backward-compatibility.) -\item[\abbrstyle{short-em-footnote}] +\item[\abbrstyledef{short-em-footnote}] Like \abbrstyle{short-footnote} but redefines \cs{glsabbrvfont} to -use \ics{glsxtremfont}. +use \ics{glsabbrvemfont}. (This style was originally called \depabbrstyle{footnote-em}. Renamed in version 1.04, but original name retained as a deprecated synonym for backward-compatibility.) -\item[\abbrstyle{short-postfootnote}] +\item[\abbrstyledef{short-postfootnote}] This is similar to the \abbrstyle{short-footnote} style but doesn't modify the category attribute. Instead it changes \postlinkcat\ to insert the footnote after the @@ -3600,31 +3779,31 @@ Note that this style will change \cs{glsxtrfull} (and it's variants) so that it fakes non-\gls{firstuse}. (Otherwise the footnote would appear after the inline form.) -\item[\abbrstyle{postfootnote}] A synonym for +\item[\abbrstyledef{postfootnote}] A synonym for \abbrstyle{short-postfootnote}. -\item[\abbrstyle{short-sc-postfootnote}] +\item[\abbrstyledef{short-sc-postfootnote}] Like \abbrstyle{short-postfootnote} but redefines \cs{glsabbrvfont} to -use \ics{glsxtrscfont}. +use \ics{glsabbrvscfont}. (This style was originally called \depabbrstyle{postfootnote-sc}. Renamed in version 1.04, but original name retained as a deprecated synonym for backward-compatibility.) -\item[\abbrstyle{short-sm-postfootnote}] +\item[\abbrstyledef{short-sm-postfootnote}] Like \abbrstyle{short-postfootnote} but redefines \cs{glsabbrvfont} to -use \ics{glsxtrsmfont}. +use \ics{glsabbrvsmfont}. (This style was originally called \depabbrstyle{postfootnote-sm}. Renamed in version 1.04, but original name retained as a deprecated synonym for backward-compatibility.) -\item[\abbrstyle{short-em-postfootnote}] +\item[\abbrstyledef{short-em-postfootnote}] Like \abbrstyle{short-postfootnote} but redefines \cs{glsabbrvfont} to -use \ics{glsxtremfont}. +use \ics{glsabbrvemfont}. (This style was originally called \depabbrstyle{postfootnote-em}. Renamed in version 1.04, but original name retained as a deprecated synonym for backward-compatibility.) -\item[\abbrstyle{short-postlong-user}] +\item[\abbrstyledef{short-postlong-user}] This style was introduced in version 1.12. It's like the \abbrstyle{short-long-user} style but defers the parenthetical material to after the link-text. This means that you don't have such @@ -3632,22 +3811,231 @@ a long hyperlink (which can cause problems for the DVI \LaTeX\ format) and it also means that the user supplied material can include a hyperlink to another location. -\item[\abbrstyle{short-postlong-user-desc}] +\item[\abbrstyledef{short-postlong-user-desc}] This style was introduced in version 1.12. It's like the above \abbrstyle{short-postlong-user} style but the \gloskey{description} must be specified. -\item[\abbrstyle{long-postshort-user}] +\item[\abbrstyledef{long-postshort-user}] This style was introduced in version 1.12. It's like the above \abbrstyle{short-postlong-user} style but the long form is shown first and the short form is in the parenthetical material (as for \abbrstyle{long-short-user}) style. -\item[\abbrstyle{long-postshort-user-desc}] +\item[\abbrstyledef{long-postshort-user-desc}] This style was introduced in version 1.12. It's like the above \abbrstyle{long-postshort-user} style but the \gloskey{description} must be specified. +\item[\abbrstyledef{long-hyphen-short-hyphen}] +This style (new to v1.17) is designed to work with the \catattr{markwords} +category attribute. The full form is formatted using +\begin{definition}[\DescribeMacro\glsxtrlonghyphenshort] +\cs{glsxtrlonghyphenshort}\marg{label}\marg{long}\marg{short}\marg{insert} +\end{definition} +where \meta{insert} is the inserted material +provided in the final optional argument of commands like +\cs{insert}. If \meta{insert} start with a hyphen, then this +locally redefines \ics{glsxtrwordsep} to a hyphen, which means that +if the \catattr{markwords} attribute is set then the long form +will become hyphenated. (If this attribute isn't set, there's +no alteration to the way the long form is displayed.) + +Unlike the other \meta{long} (\meta{short}) type of styles, +such as \abbrstyle{long-short}, this style +also repeats the insertion in the parenthetical part, so that the +first use form is: +\begin{quote} +\cs{glsfirstlonghyphenfont}\marg{long}\meta{insert} +(\cs{glsfirstabbrvhyphenfont}\marg{short}\meta{insert}) +\end{quote} +The space before the parenthetical material is actually given by +\cs{glsxtrfullsep}\marg{label} which defaults to a space. +The \meta{insert} may be moved into the formatting commands +according to the conditional \cs{ifglsxtrinsertinside}. + +For example, if \texttt{ip} is defined using: +\begin{verbatim} +\glssetcategoryattribute{english}{markwords}{true} +\setabbreviationstyle[english]{long-hyphen-short-hyphen} +\newabbreviation[category=english]{ip}{IP}{Internet Protocol} +\end{verbatim} +then +\begin{verbatim} +\gls{ip}[-Adressen] +\end{verbatim} +will do +\begin{quote} +Internet-Protocol-Adressen (IP-Adressen) +\end{quote} +on first use, whereas +\begin{verbatim} +\gls{ip}[ Address] +\end{verbatim} +will do +\begin{quote} +Internet Protocol Address (IP Address) +\end{quote} +on first use. + +\begin{important} +Note that the hyphenation isn't applied when using commands like +\cs{glsxtrlong}. This means that +\begin{verbatim} +\glsxtrlong{ip}[-Adressen] +\end{verbatim} +will do +\begin{quote} +Internet Protocol-Adressen +\end{quote} +\end{important} + +If the \catattr{markwords} attribute hadn't been set, then the +first use of +\begin{verbatim} +\gls{ip}[-Adressen] +\end{verbatim} +would do +\begin{quote} +Internet Protocol-Adressen (IP-Adressen) +\end{quote} +instead. + +\begin{important} +If the inserted material \meta{insert} is likely to contain commands like +\cs{gls}, then use \abbrstyle{long-hyphen-postshort-hyphen} +instead to avoid nested links. +\end{important} + +If you want the short version in small-caps, you can +just redefine \cs{glsabbrvhyphenfont} and \cs{glsxtrhyphensuffix} +to use the small-caps versions. For example: +\begin{verbatim} +\renewcommand{\glsabbrvhyphenfont}{\glsabbrvscfont} +\renewcommand{\glsxtrhyphensuffix}{\glsxtrscsuffix} +\end{verbatim} +Similarly for other font-changing variations. + +\item[\abbrstyledef{long-hyphen-noshort-desc-noreg}] +New to version 1.17, this style is like +\abbrstyle{long-hyphen-short-hyphen-desc} except that the +parenthetical part is omitted and the long form is displayed +on subsequent use. The short form can be accessed +with \cs{glsxtrshort} but just uses the default abbreviation font. +There's no regular version of this style as the regular form +doesn't have the flexibility to deal with the hyphen switch. + +\item[\abbrstyledef{long-hyphen-noshort-noreg}] +New to version 1.17, this style is like +\abbrstyle{long-hyphen-noshort-desc-noreg} but the +name is set to the short form and the description is set to the long +form. + +\item[\abbrstyledef{long-hyphen-short-hyphen-desc}] + +New to version 1.17. +This is similar to \abbrstyle{long-hyphen-short-hyphen} but the user +supplies the description. + +\item[\abbrstyledef{long-hyphen-postshort-hyphen}] + +New to version 1.17. +This is similar to \abbrstyle{long-hyphen-short-hyphen} but the +inserted and parenthetical material are moved to the post-link hook. +On first use, \cs{gls}\marg{label}\oarg{insert} will do +\begin{display} +\cs{glsxtrlonghyphen}\marg{long}\marg{label}\marg{insert}\cs{glsxtrposthyphenshort}\marg{label}\meta{insert} +\end{display} +where +\begin{definition}[\DescribeMacro\glsxtrposthyphenshort] +\cs{glsxtrposthyphenshort}\marg{label}\meta{insert} +\end{definition} +is in the post-link hook. This uses the format: +\begin{display} +\meta{insert} (\cs{glsfirstabbrvhyphenfont}\marg{short}\meta{isnert}) +\end{display} + +\begin{important} +The singular short form is always used here, even with \cs{glspl}. +(Unlike \abbrstyle{long-hyphen-long-hyphen}.) +\end{important} + +The part in the link-text on first use: +\begin{definition}[\DescribeMacro\glsxtrlonghyphen] +\cs{glsxtrlonghyphen}\marg{long}\marg{label}\marg{insert} +\end{definition} +checks if \meta{insert} starts with a hyphen. If it does, then +\cs{glsxtrwordsep} is locally redefined to a hyphen. This command +only uses \meta{insert} to test if it starts with a hyphen. +The actual insertion code isn't typeset until the post-link +hook and it's also localised, which means that you can use +commands like \cs{gls} in \meta{insert} for this style without +causing nested hyperlinks, but only for commands like \cs{gls}. + +\begin{important} +Don't use \cs{gls} in the \meta{insert} part for commands +like \cs{glsxtrfull}, \cs{glsxtrshort} or \cs{glsxtrlong}. +\end{important} + +The inline full display format used by commands like \cs{glsxtrfull} +behaves differently to the first use of \cs{gls} with this style. +It's better to use \cs{glsreset}\marg{label}\cs{gls}\marg{label} +if you want to ensure the full format. + +\item[\abbrstyledef{long-hyphen-postshort-hyphen-desc}] + +New to version 1.17. +This is similar to \abbrstyle{long-hyphen-postshort-hyphen} but the +user supplies the description. + + +\item[\abbrstyledef{short-hyphen-long-hyphen}] +This style (new to v1.17) is like +\abbrstyle{long-hyphen-short-hyphen}, except that the short form +is displayed first followed by the long form in parentheses. The full form is formatted using +\begin{definition}[\DescribeMacro\glsxtrshorthyphenlong] +\cs{glsxtrshorthyphenlong}\marg{label}\marg{short}\marg{long}\marg{insert} +\end{definition} +which behaves in an analogous way to \cs{glsxtrlonghyphenshort}. + +\item[\abbrstyledef{short-hyphen-long-hyphen-desc}] + +New to version 1.17. +This is similar to \abbrstyle{short-hyphen-long-hyphen} but the +user supplies the description. + +\item[\abbrstyledef{short-hyphen-postlong-hyphen}] +This style (new to v1.17) is like +\abbrstyle{long-hyphen-postshort-hyphen}, but the +short form is displayed first followed by the long form in +parentheses. +On first use, \cs{gls}\marg{label}\oarg{insert} will do +\begin{display} +\cs{glsxtrshorthyphen}\marg{short}\marg{label}\marg{insert}\cs{glsxtrposthyphenlong}\marg{label}\meta{insert} +\end{display} +where +\begin{definition}[\DescribeMacro\glsxtrposthyphenlong] +\cs{glsxtrposthyphenlong}\marg{label}\meta{insert} +\end{definition} +is in the post-link hook. These commands behave in an analogous +manner to those used with \abbrstyle{long-hyphen-postshort-hyphen}. + +\begin{important} +Don't use \cs{gls} in the \meta{insert} part for commands +like \cs{glsxtrfull}, \cs{glsxtrshort} or \cs{glsxtrlong}. +\end{important} + +The inline full display format used by commands like \cs{glsxtrfull} +behaves differently to the first use of \cs{gls} with this style. +It's better to use \cs{glsreset}\marg{label}\cs{gls}\marg{label} +if you want to ensure the full format. + +\item[\abbrstyledef{short-hyphen-postlong-hyphen-desc}] + +New to version 1.17. +This is similar to \abbrstyle{short-hyphen-postlong-hyphen} but the +user supplies the description. + \end{description} \section{Defining New Abbreviation Styles} @@ -3698,15 +4086,24 @@ For example, the \abbrstyle{long-short} style has the following in sort={\the\glsshorttok}, first={\protect\glsfirstlongfont{\the\glslongtok}% \protect\glsxtrfullsep{\the\glslabeltok}% - (\protect\glsfirstabbrvfont{\the\glsshorttok})},% + \glsxtrparen{\protect\glsfirstabbrvfont{\the\glsshorttok}}},% firstplural={\protect\glsfirstlongfont{\the\glslongpltok}% \protect\glsxtrfullsep{\the\glslabeltok}% - (\protect\glsfirstabbrvfont{\the\glsshortpltok})},% - plural={\protect\glsabbvfont{\the\glsshortpltok}},% + \glsxtrparen{\protect\glsfirstabbrvfont{\the\glsshortpltok}}},% + plural={\protect\glsabbrvfont{\the\glsshortpltok}},% description={\the\glslongtok}}% \end{verbatim} Note that the \gloskey{first} and \gloskey{firstplural} are -set even though they're not used by \cs{gls}. +set even though they're not used by \cs{gls}. + +The basic styles, such as \abbrstyle{long-short}, use commands like +\cs{glsabbrvfont} (which are redefined whenever the style formatting +is set) within \cs{CustomAbbreviationFields}. Other styles, such as +\abbrstyle{long-em-short-em} directly use their own custom commands, +such as \cs{glsabbrvemfont}. With these styles, commands like +\cs{glsabbrvfont} still need to be defined as appropriate in the +\meta{fmts} argument even if they're not used within +\cs{CustomAbbreviationFields}. The \meta{setup} argument may also redefine \begin{definition}[\DescribeMacro\GlsXtrPostNewAbbreviation] @@ -3762,6 +4159,21 @@ Long plural value (defined by \styfmt{glossaries-extra}): through the \gloskey{longplural} key in the optional argument of \ics{newabbreviation}.) +The short or long values may be modified by attributes (such as +\catattr{markwords}). The above registers reflect the modification. +If you want to access the original (unmodified) short or long form +(as provided in the final two arguments of \cs{newabbreviation}), +then use the commands: +\begin{definition}[\DescribeMacro\glsxtrorgshort] +\cs{glsxtrorgshort} +\end{definition} +for the short form and +\begin{definition}[\DescribeMacro\glsxtrorglong] +\cs{glsxtrorglong} +\end{definition} +for the long form. (These may be useful for the \gloskey{sort} key +to avoid any formatting that may be added by the attribute setting.) + There are two other registers available that are defined by \styfmt{glossaries}: @@ -3789,16 +4201,15 @@ If you want to base a style on an existing style, you can use \cs{GlsXtrUseAbbrStyleSetup}\marg{name} \end{definition} where \meta{name} is the name of the existing style. -For example, the \abbrstyle{short-sc-footnote} and \abbrstyle{short-sm-footnote} -styles both simply use +For example, the \abbrstyle{long-noshort-sc-desc} style simply does \begin{verbatim} -\GlsXtrUseAbbrStyleSetup{short-footnote} +\GlsXtrUseAbbrStyleSetup{long-noshort-desc} \end{verbatim} within \meta{setup}. The \meta{fmts} argument deals with the way the entry is displayed in the document. This argument should redefine the following -commands: +commands. The default suffix for the plural short form (if not overridden by the \gloskey{shortplural} key): @@ -3886,6 +4297,32 @@ Inline plural first letter converted to upper case (used by \cs{Glsxtrinlinefullplformat}\marg{label}\marg{insert} \end{definition} +(New to version 1.17.) +You can also modify the way the subsequent use is formatted by +redefining the following four commands, but these won't be used for +abbreviations with the \catattr{regular} attribute set. If the style +doesn't redefine these commands, the default values are used. + +Singular with no case-change: +\begin{definition}[\DescribeMacro\glsxtrsubsequentfmt] +\cs{glsxtrsubsequentfmt}\marg{label}\marg{insert} +\end{definition} + +Singular with first letter upper case: +\begin{definition}[\DescribeMacro\Glsxtrsubsequentfmt] +\cs{Glsxtrsubsequentfmt}\marg{label}\marg{insert} +\end{definition} + +Plural with no case-change: +\begin{definition}[\DescribeMacro\glsxtrsubsequentplfmt] +\cs{glsxtrsubsequentplfmt}\marg{label}\marg{insert} +\end{definition} + +Plural with first letter upper case: +\begin{definition}[\DescribeMacro\Glsxtrsubsequentplfmt] +\cs{Glsxtrsubsequentplfmt}\marg{label}\marg{insert} +\end{definition} + If you want to provide support for \sty{glossaries-accsupp} use the following \cs{glsaccess\meta{xxx}} commands (\sectionref{sec:accsupp}) within the definitions of @@ -3897,26 +4334,32 @@ use the following \cs{glsaccess\meta{xxx}} commands For example, the \abbrstyle{short-long} style has the following in \meta{fmts}: \begin{verbatim} - \renewcommand*{\abbrvpluralsuffix}{\glspluralsuffix}% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrabbrvpluralsuffix}% \renewcommand*{\glsabbrvfont}[1]{\glsabbrvdefaultfont{##1}}% \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% \renewcommand*{\glsxtrfullformat}[2]{% - \glsfirstabbrvfont{\glsaccessshort{##1}}##2\glsxtrfullsep{##1}% - (\glsfirstlongfont{\glsaccesslong{##1}})% + \glsfirstabbrvfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfont{\glsaccesslong{##1}}}% }% \renewcommand*{\glsxtrfullplformat}[2]{% - \glsfirstabbrvfont{\glsaccessshortpl{##1}}##2\glsxtrfullsep{##1}% - (\glsfirstlongfont{\glsaccesslongpl{##1}})% + \glsfirstabbrvfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfont{\glsaccesslongpl{##1}}}% }% \renewcommand*{\Glsxtrfullformat}[2]{% - \glsfirstabbrvfont{\Glsaccessshort{##1}}##2\glsxtrfullsep{##1}% - (\glsfirstlongfont{\glsaccesslong{##1}})% + \glsfirstabbrvfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfont{\glsaccesslong{##1}}}% }% \renewcommand*{\Glsxtrfullplformat}[2]{% - \glsfirstabbrvfont{\Glsaccessshortpl{##1}}##2\glsxtrfullsep{##1}% - (\glsfirstlongfont{\glsaccesslongpl{##1}})% + \glsfirstabbrvfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% + \glsxtrparen{\glsfirstlongfont{\glsaccesslongpl{##1}}}% }% \end{verbatim} Since the inline full commands aren't redefined, they default @@ -3927,34 +4370,35 @@ If you want to base a style on an existing style, you can use \cs{GlsXtrUseAbbrStyleFmts}\marg{name} \end{definition} within \meta{fmts}, where \meta{name} is the name of the existing -style. For example, the \abbrstyle{short-sc-long} style has the +style. For example, the \abbrstyle{long-short-desc} style has the following in \meta{fmts}: \begin{verbatim} - \GlsXtrUseAbbrStyleFmts{short-long}% - \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrscsuffix}% - \renewcommand*{\glsabbrvfont}[1]{\glsxtrscfont{##1}}% -\end{verbatim} -and the \abbrstyle{short-sm-long} style has: -\begin{verbatim} - \GlsXtrUseAbbrStyleFmts{short-long-desc}% - \renewcommand*{\glsabbrvfont}[1]{\glsxtrsmfont{##1}}% - \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrsmsuffix}% + \GlsXtrUseAbbrStyleFmts{long-short}% \end{verbatim} -The simplest examples of creating a new style based on an -existing style are the \qt{em} styles, such as the -\abbrstyle{short-em-long} style, which is defined as: +Here's an example of an abbreviation style that's based on +\abbrstyle{long-short} that displays the short form within +\cs{textsf}: \begin{verbatim} \newabbreviationstyle -{short-em-long}% label +{custom-sf}% label {% setup \GlsXtrUseAbbrStyleSetup{short-long}% }% {% fmts \GlsXtrUseAbbrStyleFmts{short-long}% - \renewcommand*{\glsabbrvfont}[1]{\glsxtremfont{##1}}% + \renewcommand*{\glsabbrvfont}[1]{\textsf{##1}}% } \end{verbatim} +Note that this wouldn't work if it was instead based on one of the +modified versions such as \abbrstyle{short-sc-long} as they +explicitly use their own formatting commands, such as +\cs{glsabbrvemfont}. The base styles, such as \abbrstyle{short-long}, +use the more generic \cs{glsabbrvfont} etc which makes them easier +to adapt than the modified styles. + +For further details, see the \qt{Abbreviations} section in the documented code +(\texttt{glossaries-extra-code.pdf}). \chapter{Entries in Sectioning Titles, Headers, Captions and Contents} \label{sec:headtitle} @@ -4200,9 +4644,9 @@ default. Additionally, if you have enabled \ics{newterm} with the \pkgopt{index} package option that command will set the category to \category{index} by default. If you have -enabled \ics{glsxtrnewsymbol} with the \pkgopt{symbols} package +enabled \ics{glsxtrnewsymbol} with the \styopt{symbols} package option, that command will set the category to \category{symbol}. If you have -enabled \ics{glsxtrnewnumber} with the \pkgopt{numbers} package +enabled \ics{glsxtrnewnumber} with the \styopt{numbers} package option, that command will set the category to \category{number}. You can obtain the category label for a given entry using @@ -4238,7 +4682,7 @@ Other attributes recognised by \styfmt{glossaries-extra} are: \begin{description} -\item[\catattr{nohyperfirst}] When using commands like \ics{gls} +\item[\catattrdef{nohyperfirst}] When using commands like \ics{gls} this will automatically suppress the hyperlink on \gls{firstuse} for entries with a category that has this attribute set to \qt{true}. (This settings can be overridden by explicitly setting @@ -4256,22 +4700,22 @@ want commands these \cs{glsfirst} etc commands to ignore the \end{definition} to do nothing. -\item[\catattr{nohyper}] When using commands like \ics{gls} +\item[\catattrdef{nohyper}] When using commands like \ics{gls} this will automatically suppress the hyperlink for entries with a category that has this attribute set to \qt{true}. (This settings can be overridden by explicitly setting the \gloskey[glslink]{hyper} key on or off in the optional argument of commands like \cs{gls}.) -\item[\catattr{indexonlyfirst}] This is similar to the +\item[\catattrdef{indexonlyfirst}] This is similar to the \pkgopt{indexonlyfirst} package option but only for entries that have a category with this attribute set to \qt{true}. -\item[\catattr{wrgloss}] When using commands like \ics{gls}, +\item[\catattrdef{wrgloss}] When using commands like \ics{gls}, if this attribute is set to \qt{after}, it will automatically implement \gloskey[glslink]{wrgloss}\optfmt{=after}. (New to v1.14.) -\item[\catattr{discardperiod}] If set to \qt{true}, the +\item[\catattrdef{discardperiod}] If set to \qt{true}, the post-\gls{linktext} hook will discard a~full stop (period) that follows \emph{non-plural} commands like \cs{gls} or \cs{glstext}. (Provided for entries such as abbreviations that end with a full stop.) @@ -4294,26 +4738,82 @@ argument. For example: This will bring the punctuation character inside the \gls{linktext} and it won't be discarded. -\item[\catattr{pluraldiscardperiod}] If this attribute is set to +\item[\catattrdef{pluraldiscardperiod}] If this attribute is set to \qt{true} \emph{and} the \catattr{discardperiod} attribute is set to \qt{true}, this will behave as above for the plural commands like \cs{glspl} or \cs{glsplural}. -\item[\catattr{retainfirstuseperiod}] If this attribute is set +\item[\catattrdef{retainfirstuseperiod}] If this attribute is set to \qt{true} then the full stop won't be discarded for \gls{firstuse} instances, even if \catattr{discardperiod} or \catattr{pluraldiscardperiod} are set. This is useful for \meta{short} (\meta{long}) abbreviation styles where only the short -form has a trailing full stop.. +form has a trailing full stop. -\item[\catattr{insertdots}] If this attribute is set to \qt{true} +\item[\catattrdef{markwords}] If this attribute is set to \qt{true} +any entry defined using \ics{newabbreviation} will automatically +have spaces in the long form replaced with +\begin{definition}[\DescribeMacro\glsxtrwordsep] +\cs{glsxtrwordsep} +\end{definition} +and each word is encapsulated with +\begin{definition}[\DescribeMacro\glsxtrword] +\cs{glsxtrword}\marg{word} +\end{definition} +For example: +\begin{verbatim} +\glssetcategoryattribute{abbreviation}{markwords}{true} +\newabbreviation{ip}{IP}{Internet Protocol} +\end{verbatim} +is essentially the same as +\begin{verbatim} +\newabbreviation{ip}{IP} +{\glsxtrword{Internet}\glsxtrwordsep\glsxtrword{Protocol}} +\end{verbatim} +The \qt{hyphen} styles, such as +\abbrstyle{long-hyphen-short-hyphen}, take advantage of this +markup. If the inserted material (provided in the final argument +of commands like \ics{gls}) starts with a hyphen then +\cs{glsxtrwordsep} is locally redefined to a hyphen. (The default +value is a space). Note that this only applies to commands +like \cs{gls} and not like \cs{glsxtrlong}. You can provide your own +localised switch, if required. For example: +\begin{verbatim} +\newcommand{\hyplong}[2][]{% + {\def\glsxtrwordsep{-}\glsxtrlong[#1]{#2}}} +\end{verbatim} + +This setting will also adjust the long plural. + +\begin{important} +This setting may result in the +\cs{glsxtrword} and \cs{glsxtrwordsep} markup ending up in the +\gloskey{sort} field, depending on the style in use. +\end{important} + +\item[\catattrdef{markshortwords}] This is similar to +\catattr{markwords} but applies to the short form. (Only useful for +abbreviations that contain spaces.) + +This setting will only adjust the short plural if the +\gloskey{shortplural} key isn't used. This setting will +take precedence over \catattr{insertdots}. + +\begin{important} +This setting may result in the +\cs{glsxtrword} and \cs{glsxtrwordsep} markup ending up in the +\gloskey{sort} field, depending on the style in use. +\end{important} + +\item[\catattrdef{insertdots}] If this attribute is set to \qt{true} any entry defined using \ics{newabbreviation} will automatically have full stops (periods) inserted after each letter. The entry will be defined with those dots present as though they had been present in the \meta{short} argument of \cs{newabbreviation} (rather than inserting them every time the entry is used). The short plural form defaults to the new dotted version of the original \meta{short} -form with the plural suffix appended. +form with the plural suffix appended. \emph{This setting is incompatible +with \catattr{markshortwords}.} \begin{important} If you explicitly override @@ -4326,29 +4826,29 @@ followed by a dot). This attribute is best used with the \catattr{discardperiod} attribute set to \qt{true}. -\item[\catattr{aposplural}] If this attribute is set to \qt{true}, +\item[\catattrdef{aposplural}] If this attribute is set to \qt{true}, \ics{newabbreviation} will insert an apostrophe (') before the plural suffix for the \emph{short} plural form (unless explicitly overridden with the \gloskey{shortplural} key). The long plural form -is unaffected by this setting. +is unaffected by this setting. This setting overrides +\catattr{noshortplural}. -\item[\catattr{noshortplural}] If this attribute is set to +\item[\catattrdef{noshortplural}] If this attribute is set to \qt{true}, \ics{newabbreviation} won't append the plural suffix for the short plural form. This means the \gloskey{short} and \gloskey{shortplural} values will be the same unless explicitly -overridden. \emph{The \catattr{aposplural} attribute trumps -the \catattr{noshortplural} attribute.} +overridden. \emph{This setting is incompatible with \catattr{aposplural}.} -\item[\catattr{headuc}] If this attribute is set to \qt{true}, +\item[\catattrdef{headuc}] If this attribute is set to \qt{true}, commands like \ics{glsfmtshort} will use the upper case version in the page headers. -\item[\catattr{tagging}] If this attribute is set to \qt{true}, +\item[\catattrdef{tagging}] If this attribute is set to \qt{true}, the tagging command defined by \ics{GlsXtrEnableInitialTagging} will be activated to use \ics{glsxtrtagfont} in the glossary (see \sectionref{sec:tagging}). -\item[\catattr{entrycount}] Unlike the above attributes, +\item[\catattrdef{entrycount}] Unlike the above attributes, this attribute isn't boolean but instead must be an integer value and is used in combination with \ics{glsenableentrycount} (see \sectionref{sec:entrycountmods}). Leave blank or undefined @@ -4363,7 +4863,7 @@ have the \catattr{entrycount} attribute set and where the previous usage count for that entry is less than or equal to the value of that attribute. -\item[\catattr{glossdesc}] The \ics{glossentrydesc} command +\item[\catattrdef{glossdesc}] The \ics{glossentrydesc} command (used in the predefined glossary styles) is modified by \styfmt{glossaries-extra} to check for this attribute. The attribute may have one of the following values: @@ -4393,7 +4893,7 @@ that there are design limitations for both the first letter uppercasing and the title casing commands. See the \sty{mfirstuc} user manual for further details. -\item[\catattr{glossdescfont}] (New to version 1.04) +\item[\catattrdef{glossdescfont}] (New to version 1.04) In addition to the above, the modified \ics{glossentrydesc} command also checks this attribute. If set, it should be the name of a control sequence (without the leading backslash) that takes one @@ -4404,16 +4904,16 @@ text. For example: \end{verbatim} -\item[\catattr{glossname}] As \catattr{glossdesc} but applies +\item[\catattrdef{glossname}] As \catattr{glossdesc} but applies to \ics{glossentryname}. Additionally, if this attribute is set to \qt{uc} the name is converted to all capitals. -\item[\catattr{indexname}] If set, the \cs{glsxtrpostnamehook} hook +\item[\catattrdef{indexname}] If set, the \cs{glsxtrpostnamehook} hook used at the end of \ics{glossentyname} will index the entry using \ics{index}. See \sectionref{sec:autoindex} for further details. -\item[\catattr{glossnamefont}] (New to version 1.04) +\item[\catattrdef{glossnamefont}] (New to version 1.04) In addition to the above, the modified \ics{glossentryname} command also checks this attribute. If set, it should be the name of a control sequence (without the leading backslash) that takes one @@ -4429,13 +4929,13 @@ Remember that glossary styles may additionally apply a font change, such as the list styles which put the name in the optional argument of \cs{item}. -\item[\catattr{dualindex}] If set, whenever a glossary entry +\item[\catattrdef{dualindex}] If set, whenever a glossary entry has information written to the external glossary file through commands like \ics{gls} and \ics{glsadd}, a~corresponding line will be written to the indexing file using \ics{index}. See \sectionref{sec:autoindex} for further details. -\item[\catattr{targeturl}] If set, the hyperlink generated by +\item[\catattrdef{targeturl}] If set, the hyperlink generated by commands like \cs{gls} will be set to the URL provided by this attributes value. For example: \begin{verbatim} @@ -4667,7 +5167,8 @@ commands like \ics{cgls} will generate a warning if \cs{glsenableentrycount} hasn't been used.) The abbreviation shortcut \ics{ab} uses \cs{cgls} (see \sectionref{sec:abbrshortcuts}) unlike the acronym shortcut \ics{ac} -which uses \cs{gls}. +which uses \cs{gls} (except when it's defined through +\styopt[ac]{shortcuts}). All upper case versions (not provided by \styfmt{glossaries}) are also available: @@ -5168,12 +5669,12 @@ The \styfmt{glossaries} package advises against defining entries in the \env{document} environment. As mentioned in \sectionref{sec:pkgopts} above, this ability is disabled by default with \styfmt{glossaries-extra} but can be enabled using -the \pkgopt{docdefs} package options. +the \styopt{docdefs} package options. Although this can be problematic, the \styfmt{glossaries-extra} package provides a way of defining and using entries within the \env{document} environment without the tricks used with the -\pkgopt{docdefs} option. \emph{There are limitations with this +\styopt{docdefs} option. \emph{There are limitations with this approach, so take care with it.} This function is disabled by default, but can be enabled using the preamble-only command: \begin{definition}[\DescribeMacro\GlsXtrEnableOnTheFly] @@ -5272,7 +5773,8 @@ to just text. \label{sec:bib2gls} There is a new command line application under development called -\gls{bib2gls}, which works in much the same way as \appfmt{bibtex}. +\gls{bib2gls}, which works in much the same way as +a combination of \appfmt{bibtex} and \appfmt{makeindex}. Instead of storing all your entry definitions in a \texttt{.tex} and loading them using \cs{input} or \cs{loadglsentries}, the entries can instead be stored in a \texttt{.bib} file and \gls{bib2gls} can @@ -5288,10 +5790,10 @@ hundreds of definitions, but you only use a dozen or so in your document, then the build time is needlessly slowed by the unrequired definitions that occur when the file is input. -Although \gls{bib2gls} isn't ready yet, there have been some new -commands and options added to \styfmt{glossaries-extra} to help -assist the integration of \gls{bib2gls} into the document build -process. +Although \gls{bib2gls} isn't ready yet (at the time of writing +this), there have been some new commands and options added to +\styfmt{glossaries-extra} to help assist the integration of +\gls{bib2gls} into the document build process. An example of the contents of \texttt{.bib} file that stores glossary entries that can be extracted with \gls{bib2gls}: @@ -5362,7 +5864,7 @@ preamble{"\providecommand{\mtx}[1]{\boldsymbol{#1}}"} \end{verbatim} To ensure that \gls{bib2gls} can find out which entries have been -used in the document, you need the \pkgopt{record} package. Option: +used in the document, you need the \styopt{record} package option: \begin{verbatim} \usepackage[record]{glossaries-extra} \end{verbatim} @@ -5372,9 +5874,9 @@ collate the locations. If you still want to use an indexing application (for example, you need a custom \gls{xindy} rule), then just use -\pkgopt[alsoindex]{record} and continue to use \cs{makeglossaries} -and \cs{printglossary} (or \cs{printglossaries}), but instruct -\gls{bib2gls} to omit sorting to save time. +\styopt[alsoindex]{record} and continue to use \cs{makeglossaries} +and \cs{printglossary} (or \cs{printglossaries}), but it's a good +idea to also instruct \gls{bib2gls} to omit sorting to save time. The \texttt{.glstex} file created by \cs{bib2gls} is loaded using: \begin{definition}[\DescribeMacro\glsxtrresourcefile] @@ -5418,12 +5920,28 @@ as the name of the \texttt{.bib} files and any changes to the default behaviour. Since the \texttt{.glstex} won't exist on the first \LaTeX\ run, the -\pkgopt{record} package option additionally switches on -\pkgopt[warn]{undefaction}. Any use of commands like \cs{gls} or +\styopt{record} package option additionally switches on +\styopt[warn]{undefaction}. Any use of commands like \cs{gls} or \cs{glstext} will produce ?? in the document, since they are undefined at this point. Once \gls{bib2gls} has created the \texttt{.glstex} file the references should be resolved. +\begin{important} +Note that \cs{glsaddall} doesn't work with \gls{bib2gls} as the command +has to iterate over the glossary lists, which will be empty on the first +run and on subsequent runs will only contain those entries that have +been selected by \gls{bib2gls}. +\end{important} + +If you want to add all +entries to the glossary, you need to tell \gls{bib2gls} this in the +options list. For example: +\begin{verbatim} +\GlsXtrLoadResources[src={terms},selection={all}] +\end{verbatim} +See the \gls{bib2gls} user manual for more details of this and other +available options. + Note that as from v1.12, \cs{glsxtrresourcefile} temporarily switches the category code of \texttt{@} to 11 (letter) while it reads the file to allow for any internal commands stored in the @@ -5515,17 +6033,6 @@ locale. If this doesn't match the document language, you need to set this in the option list, for example \verb|sort=de-CH-1996| for Swiss German using the new orthography.) -Note that \cs{glsaddall} doesn't work in this case as it has to -iterate over the glossary lists, which will be empty on the first -run and on subsequent runs will only contain those entries that have -been selected by \gls{bib2gls}. Instead, if you want to add all -entries to the glossary, you need to tell \gls{bib2gls} this in the -options list: -\begin{verbatim} -\GlsXtrLoadResources[src={terms},selection={all}] -\end{verbatim} - -The \gls{bib2gls} user manual will contain more detail. \chapter{Miscellaneous New Commands} \label{sec:miscnew} @@ -5712,7 +6219,7 @@ assignment code. This command just uses \ics{glsdoifexists}\marg{label}\marg{code} (ignoring the \meta{field} argument), so by default it causes an error if the entry doesn't exist. This can be changed to a warning -with \pkgopt[warn]{undefaction}. You can redefine +with \styopt[warn]{undefaction}. You can redefine \cs{glsxtrsetfieldifexists} to simply do \meta{code} if you want to skip the existence check. Alternatively you can instead use \begin{definition}[\DescribeMacro\glsxtrdeffield] @@ -5826,7 +6333,7 @@ See the \sty{etoolbox}'s user manual for further details of these commands, in particular the limitations of \cs{ifinlist}. -When using the \pkgopt{record} option, in addition to recording the +When using the \styopt{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: \begin{definition}[\DescribeMacro\GlsXtrRecordCounter] @@ -5870,7 +6377,7 @@ entries and always lists all the defined entries for the given glossary (and doesn't require \cs{makenoidxglossaries}). There's also a starred form -\begin{definition}[\DescribeMacro\printunsrtglossary*] +\begin{definition}[\DescribeMacro{\printunsrtglossary*}] \cs{printunsrtglossary}*\oarg{options}\marg{code} \end{definition} which is equivalent to @@ -5888,11 +6395,18 @@ there will be no \gls{numberlist} in this case, as that has to be set by a post-processor such as \gls{bib2gls} (see \sectionref{sec:bib2gls}). +\begin{important} +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 +\cs{printunsrtglossary}. +\end{important} + If you have any entries with the \gloskey{see} key set, you will need the \sty{glossaries} package option \pkgopt[ignore]{seenoindex} or \pkgopt[warn]{seenoindex} to prevent an error occurring from the automated \cs{glssee} normally triggered by this key. The -\pkgopt[only]{record} package option will automatically deal with +\styopt[only]{record} package option will automatically deal with this. For example: @@ -5913,7 +6427,7 @@ For example: In the above, zebra will be listed before ant as it was defined first. -If you allow document definitions with the \pkgopt{docdefs} option, +If you allow document definitions with the \styopt{docdefs} option, the document will require a second \LaTeX\ run if the entries are defined after \cs{printunsrtglossary}. @@ -6047,7 +6561,7 @@ which will start the list with a subsection header with the title \qt{Summary} (overriding the glossary's title). Note that this shortcut command is only available with the -\pkgopt{record} (or \pkgopt[alsoindex]{record}) package option. +\styopt{record} (or \styopt[alsoindex]{record}) package option. This temporary change in the hypertarget prefix means you need to explicitly use \cs{hyperlink} to create a link to it @@ -6080,7 +6594,7 @@ was defined, the \gloskey{alias} key will automatically trigger \cs{gls}\marg{entry-1} will link to \meta{entry-2}'s target. (Unless the \catattr{targeturl} attribute has been set for \meta{entry-1}'s category.) -\item With \pkgopt[off]{record} or \pkgopt[alsoindex]{record}, the \gloskey[glslink]{noindex} setting will automatically be triggered +\item With \styopt[off]{record} or \styopt[alsoindex]{record}, the \gloskey[glslink]{noindex} setting will automatically be triggered when referencing \meta{entry-1} with commands like \cs{gls} or \cs{glstext}. This prevents \meta{entry-1} from have a \gls{locationlist} (aside from the cross-reference added with @@ -6088,7 +6602,7 @@ when referencing \meta{entry-1} with commands like \cs{gls} or if the indexing has been explicitly set using \texttt{noindex=false}. -Note that with \pkgopt[only]{record}, the \gls{locationlist} +Note that with \styopt[only]{record}, the \gls{locationlist} for aliased entries is controlled with \gls{bib2gls}['s] settings. \end{itemize} @@ -6098,7 +6612,7 @@ The index suppression trigger is performed by \end{definition} This is performed after the default options provided by \ics{GlsXtrSetDefaultGlsOpts} have been set. -With \pkgopt[only]{record}, \cs{glsxtrsetaliasnoindex} will +With \styopt[only]{record}, \cs{glsxtrsetaliasnoindex} will default to do nothing. Within the definition of \cs{glsxtrsetaliasnoindex} you can use @@ -6161,7 +6675,7 @@ Next use: \pgls{svm}. \label{sec:accsupp} The \sty{glossaries-accsupp} needs to be loaded before -\styfmt{glossaries-extra} or through the \pkgopt{accsupp} package +\styfmt{glossaries-extra} or through the \styopt{accsupp} package option: \begin{verbatim} \usepackage[accsupp]{glossaries-extra} @@ -6361,6 +6875,9 @@ The following sample files are provided with this package: \item[sample.tex] Simple sample file that uses one of the dummy files provided by the \styfmt{glossaries} package for testing. +\item[sample-abbr-styles.tex] Demonstrates all predefined +abbreviation styles. + \item[sample-mixture.tex] General entries, acronyms and initialisms all treated differently. @@ -6485,7 +7002,7 @@ in the supplementary file \texttt{sample-suppl-hyp.tex}. There's only one command provided by \styfmt{glossaries-extra} that you're likely to want to change in your document and that's \ics{abbreviationsname} (\sectionref{sec:pkgopts}) if you use -the \pkgopt{abbreviations} package option to automatically +the \styopt{abbreviations} package option to automatically create the glossary labelled \texttt{abbreviations}. If this command doesn't already exist, it will be defined to \qt{Abbreviations} if \sty{babel} hasn't been loaded, otherwise 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 new file mode 100644 index 00000000000..be3469aa611 Binary files /dev/null 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-abbr-styles.tex b/Master/texmf-dist/doc/latex/glossaries-extra/sample-abbr-styles.tex new file mode 100644 index 00000000000..7825a22dcb2 --- /dev/null +++ b/Master/texmf-dist/doc/latex/glossaries-extra/sample-abbr-styles.tex @@ -0,0 +1,425 @@ +% arara: pdflatex +% arara: makeglossaries +% arara: pdflatex +% arara: pdflatex + +\documentclass{report} + +\usepackage[T1]{fontenc} +\usepackage{relsize} +\usepackage{etoolbox} +\usepackage[colorlinks,linkcolor=magenta]{hyperref} +\usepackage{glossaries-extra} + +% If you get any undefined control sequences or undefined +% style errors, make sure you have the latest versions of +% glossaries-extra.sty and glossaries.sty + +\makeglossaries + +% This command is used for short forms for styles +% that don't have a designated command: +\renewcommand{\glsabbrvdefaultfont}[1]{\textsf{#1}} + +% This command is used on first use for short forms +% for styles that don't have a designated command: +%\renewcommand{\glsfirstabbrvdefaultfont}[1]{\textsf{#1}} + +% This command is used for long forms for styles +% that don't have a designated command: +\renewcommand{\glslongdefaultfont}[1]{\textsf{#1}} + +% This command is used on first use for long forms +% for styles that don't have a designated command: +%\renewcommand{\glsfirstlongdefaultfont}[1]{\textsf{#1}} + +% These commands are used by the '-hyphen' styles. +% For example, to switch to small-caps for the short form: +%\renewcommand{\glsabbrvhyphenfont}{\glsabbrvscfont} +%\renewcommand{\glsxtrhyphensuffix}{\glsxtrscsuffix} +% and emphasize the long form +%\renewcommand{\glslonghyphenfont}{\emph} + +\renewcommand{\glsxtrabbrvfootnote}[2]{% + \footnote{\glshyperlink[\glsfmtshort{#1}]{#1}: #2}% +} + +\glssetcategoryattribute{long-hyphen-short-hyphen}{markwords}{true} +\glssetcategoryattribute{long-hyphen-postshort-hyphen}{markwords}{true} +\glssetcategoryattribute{long-hyphen-short-hyphen-desc}{markwords}{true} +\glssetcategoryattribute{long-hyphen-postshort-hyphen-desc}{markwords}{true} +\glssetcategoryattribute{short-hyphen-long-hyphen}{markwords}{true} +\glssetcategoryattribute{short-hyphen-postlong-hyphen}{markwords}{true} +\glssetcategoryattribute{short-hyphen-long-hyphen-desc}{markwords}{true} +\glssetcategoryattribute{short-hyphen-postlong-hyphen-desc}{markwords}{true} +\glssetcategoryattribute{long-hyphen-noshort-desc-noreg}{markwords}{true} +\glssetcategoryattribute{long-hyphen-noshort-noreg}{markwords}{true} + +\newcommand{\stylelist}{} + +\newcommand{\teststyle}[1]{% + \listadd{\stylelist}{#1}% + \setabbreviationstyle[#1]{#1}% + \newabbreviation[category=#1,% + %sort={#1},% order by style name + user1={user text}% + ]{sample-#1}{short}{long form}% + \csdef{glsxtrpostdesc#1}{ [style: #1]}% +} + +\newcommand{\testdescstyle}[1]{% + \listadd{\stylelist}{#1}% + \setabbreviationstyle[#1]{#1}% + \newabbreviation[category=#1,% + %sort={#1},% order by style name + user1={user text},% + description={sample description}]{sample-#1}{short}{long form}% + \csdef{glsxtrpostdesc#1}{ [style: #1]}% +} + +\teststyle{long-short} +\teststyle{short-long} +%\teststyle{footnote}% synonym: short-footnote +\teststyle{short-footnote} +%\teststyle{postfootnote}% synonym: short-postfootnote +\teststyle{short-postfootnote} +%\teststyle{short}% synonym: short-nolong +\teststyle{short-nolong} +\teststyle{short-nolong-noreg} +%\teststyle{long}% synonym: long-noshort +\teststyle{long-noshort} +\teststyle{long-noshort-noreg} +\teststyle{long-only-short-only} +\teststyle{long-short-sc} +\teststyle{short-sc-long} +%\teststyle{short-sc}% synonym: short-sc-nolong +\teststyle{short-sc-nolong} +\teststyle{long-noshort-sc} +%\teststyle{long-sc}% deprecated synonym of long-noshort-sc +\teststyle{short-sc-footnote} +%\teststyle{footnote-sc}% deprecated synonym of short-sc-footnote +\teststyle{short-sc-postfootnote} +%\teststyle{postfootnote-sc}% deprecated synonym of short-sc-postfootnote +\teststyle{long-short-sm} +\teststyle{short-sm-long} +%\teststyle{short-sm}% synonym: short-sm-nolong +\teststyle{short-sm-nolong} +%\teststyle{long-sm}% deprecated synonym of long-noshort-sm +\teststyle{long-noshort-sm} +\teststyle{short-sm-footnote} +%\teststyle{footnote-sm}% deprecated synonym of short-sm-footnote +\teststyle{short-sm-postfootnote} +%\teststyle{postfootnote-sm}% deprecated synonym of short-sm-postfootnote +\teststyle{long-short-em} +\teststyle{long-em-short-em} +\teststyle{short-em-long} +\teststyle{short-em-long-em} +\teststyle{short-em-nolong} +%\teststyle{short-em}% synonym: short-em-nolong +\teststyle{long-noshort-em} +%\teststyle{long-em}% deprecated synonym of long-noshort-em +\teststyle{long-em-noshort-em} +\teststyle{long-em-noshort-em-noreg} +\teststyle{short-em-footnote} +%\teststyle{footnote-em}% deprecated synonym of short-em-footnote +\teststyle{short-em-postfootnote} +%\teststyle{postfootnote-em}% deprecated synonym of short-em-postfootnote +\teststyle{long-short-user} +\teststyle{long-postshort-user} +\teststyle{short-long-user} +\teststyle{short-postlong-user} +\teststyle{long-hyphen-short-hyphen} +\teststyle{long-hyphen-postshort-hyphen} +\teststyle{short-hyphen-long-hyphen} +\teststyle{short-hyphen-postlong-hyphen} +\teststyle{long-hyphen-noshort-noreg} + +\testdescstyle{long-short-desc} +\testdescstyle{short-long-desc} +%\testdescstyle{short-desc}% synonym: short-nolong-desc +\testdescstyle{short-nolong-desc} +\testdescstyle{short-nolong-desc-noreg} +%\testdescstyle{long-desc}% synonym: long-noshort-desc +\testdescstyle{long-noshort-desc} +\testdescstyle{long-noshort-desc-noreg} +\testdescstyle{long-only-short-only-desc} +\testdescstyle{long-short-sc-desc} +\testdescstyle{short-sc-long-desc} +%\testdescstyle{short-sc-desc}% synonym: short-sc-nolong-desc +\testdescstyle{short-sc-nolong-desc} +\testdescstyle{long-noshort-sc-desc} +%\testdescstyle{long-desc-sc}% deprecated synonym of long-noshort-sc-desc +\testdescstyle{long-short-sm-desc} +\testdescstyle{short-sm-long-desc} +%\testdescstyle{short-sm-desc}% synonym: short-sm-nolong-desc +\testdescstyle{short-sm-nolong-desc} +\testdescstyle{long-noshort-sm-desc} +%\testdescstyle{long-desc-sm}% deprecated synonym of long-noshort-sm-desc +\testdescstyle{long-short-em-desc} +\testdescstyle{long-em-short-em-desc} +\testdescstyle{short-em-long-desc} +\testdescstyle{short-em-long-em-desc} +%\testdescstyle{short-em-desc}% synonym: short-em-nolong-desc +\testdescstyle{short-em-nolong-desc} +\testdescstyle{long-noshort-em-desc} +%\testdescstyle{long-desc-em}% deprecated synonym of long-noshort-em-desc +\testdescstyle{long-em-noshort-em-desc} +\testdescstyle{long-em-noshort-em-desc-noreg} +\testdescstyle{long-short-user-desc} +\testdescstyle{long-postshort-user-desc} +\testdescstyle{short-long-user-desc} +\testdescstyle{short-postlong-user-desc} +\testdescstyle{long-hyphen-short-hyphen-desc} +\testdescstyle{long-hyphen-postshort-hyphen-desc} +\testdescstyle{short-hyphen-long-hyphen-desc} +\testdescstyle{short-hyphen-postlong-hyphen-desc} +\testdescstyle{long-hyphen-noshort-desc-noreg} + +\newcommand{\marg}[1]{\{\textnormal{\emph{#1}}\}} +\pagestyle{headings} + +\makeatletter +\renewcommand{\l@section}{\@dottedtocline {1}{1.5em}{3.3em}} +\makeatother + +\begin{document} +\pagenumbering{roman} +This is a test document demonstrating abbreviation styles +provided by the \textsf{glossaries-extra} package. Hyperlinks +are shown in +\makeatletter +\textcolor{\@linkcolor}{\@linkcolor}. +\makeatother + +Some of the styles just use the default formatting commands (which don't +change the font). To make the default setting clearer, this document has done: +\begin{verbatim} +\renewcommand{\glslongdefaultfont}[1]{\textsf{#1}} +\renewcommand{\glsabbrvdefaultfont}[1]{\textsf{#1}} +\end{verbatim} +So any text in this document that's rendered in sans-serif would normally not have any font +change implemented. + +Each test entry is defined using +\begin{verbatim} + \newabbreviation[category=#1,user1={user text}]% + {sample-#1}{short}{long form}% +\end{verbatim} +for the non\texttt{-desc} styles or +\begin{verbatim} + \newabbreviation[category=#1,user1={user text},% + description={sample description}]% + {sample-#1}{short}{long form}% +\end{verbatim} +for the \texttt{-desc} styles (where \verb|#1| is the style label). +Note that many of the entries will have duplicate sort values, so +don't build this with \texttt{xindy}. You can change the ordering +in the glossary to that it's sorted according to the style name +by changing the above definitions to: +\begin{verbatim} + \newabbreviation[category=#1,user1={user text},sort={#1}]% + {sample-#1}{short}{long form}% + \newabbreviation[category=#1,user1={user text},sort={#1},% + description={sample description}]% + {sample-#1}{short}{long form}% +\end{verbatim} + +To assist with distinguishing between the various styles, +the post-description hook (used after displaying the description in +the glossary) is set to \verb*| [style: #1]| for all categories, +and the footnote command \verb|\glsxtrabbrvfootnote| has been +redefined to include the short form hyperlinked to the glossary. + +The test entries that use the \texttt{-hyphen} styles have had the +\texttt{markwords} attribute set. This is designed to trigger +compound word hyphenation if the inserted text (through the final +optional argument of \verb|\gls|) starts with a hyphen. + +\tableofcontents + +\pagenumbering{arabic} +\chapter{First Use} +First use of \verb|\gls|. + +\forglsentries{\thislabel}{\glscategory{\thislabel}: +\gls{\thislabel}.\glspar} + +\chapter{Next Use} +Next use of \verb|\gls|. + +\forglsentries{\thislabel}{\glscategory{\thislabel}: +\gls{\thislabel}.\glspar} + +\chapter{First Use With Insert} +First use of \texttt{\string\gls\marg{label}[-insert]}. The conditional +\verb|\ifglsxtrinsertinside| is used by some styles to +determine whether or not to include the inserted material +inside the font changing command used by the style. +The default is: \ifglsxtrinsertinside true\else false\fi. + +In this test chapter, each entry is reset, then displayed with +\begin{verbatim} +\glsxtrinsertinsidefalse +\end{verbatim} +then reset and displayed with +\begin{verbatim} +\glsxtrinsertinsidetrue +\end{verbatim} +(following the semi-colon). Some styles may only obey this +conditional for particular commands. (For example, the inline +commands like \verb|\glsxtrfull| may behave differently to +commands like \verb|\gls|.) + +Some of the styles just use the default font commands (which don't +change the font) so there's no noticeable difference. To make the +differences more noticeable this document has done: +\begin{verbatim} +\renewcommand{\glslongdefaultfont}[1]{\textsf{#1}} +\renewcommand{\glsabbrvdefaultfont}[1]{\textsf{#1}} +\end{verbatim} + +\forglsentries{\thislabel}{\glscategory{\thislabel}: +\glsreset{\thislabel}\glsxtrinsertinsidefalse +\gls{\thislabel}[-insert]; +\glsreset{\thislabel}\glsxtrinsertinsidetrue +\gls{\thislabel}[-insert].\glspar} + +\chapter{Next Use With Insert} +Next use of \texttt{\string\gls\marg{label}[-insert]}. + +In this test chapter, each entry is displayed +with \verb|\glsxtrinsertinsidefalse| and then displayed with +\verb|\glsxtrinsertinsidetrue| +(following the semi-colon). Some styles don't check this +conditional. + +\forglsentries{\thislabel}{\glscategory{\thislabel}: +\glsxtrinsertinsidefalse +\gls{\thislabel}[-insert]; +\glsxtrinsertinsidetrue +\gls{\thislabel}[-insert].\glspar} + +\chapter{Full Form} +Full form using \verb|\glsxtrfull| (inline full style). +This may differ from the display form used by \verb|\gls| +on first use, depending on the style. + +\forglsentries{\thislabel}{\glscategory{\thislabel}: +\glsxtrfull{\thislabel}.\glspar} + +\chapter{Short Form} +Short form using \verb|\glsxtrshort|. +This may differ from the display form used by \verb|\gls| +on subsequent use, depending on the style. + +\forglsentries{\thislabel}{\glscategory{\thislabel}: +\glsxtrshort{\thislabel}.\glspar +} + +\chapter{Long Form} +Long form using \verb|\glsxtrlong|. + +\forglsentries{\thislabel}{\glscategory{\thislabel}: +\glsxtrlong{\thislabel}.\glspar} + +\chapter{Full Form With Insert} +Full form using \texttt{\string\glsxtrfull\marg{label}[-insert]} (inline full style). +In this test chapter, each entry is displayed +with \verb|\glsxtrinsertinsidefalse| and then displayed with +\verb|\glsxtrinsertinsidetrue| +(following the semi-colon). + +\forglsentries{\thislabel}{\glscategory{\thislabel}: +\glsxtrinsertinsidefalse +\glsxtrfull{\thislabel}[-insert]; +\glsxtrinsertinsidetrue +\glsxtrfull{\thislabel}[-insert].\glspar} + +\chapter{Short Form With Insert} +Short form using \texttt{\string\glsxtrshort\marg{label}[-insert]}. + +In this test chapter, each entry is displayed +with \verb|\glsxtrinsertinsidefalse| and then displayed with +\verb|\glsxtrinsertinsidetrue| +(following the semi-colon). + +\forglsentries{\thislabel}{\glscategory{\thislabel}: +\glsxtrinsertinsidefalse +\glsxtrshort{\thislabel}[-insert]; +\glsxtrinsertinsidetrue +\glsxtrshort{\thislabel}[-insert].\glspar} + +\chapter{Long Form With Insert} +Long form using \texttt{\string\glsxtrlong\marg{label}[-insert]}. +Note that the \texttt{hyphen} styles with the \texttt{markwords} +attribute don't adjust in this case. + +In this test chapter, each entry is displayed +with \verb|\glsxtrinsertinsidefalse| and then displayed with +\verb|\glsxtrinsertinsidetrue| +(following the semi-colon). + +\forglsentries{\thislabel}{\glscategory{\thislabel}: +\glsxtrinsertinsidefalse +\glsxtrlong{\thislabel}[-insert]; +\glsxtrinsertinsidetrue +\glsxtrlong{\thislabel}[-insert].\glspar} + +\chapter{First Form} +First form using \verb|\glsfirst|. This may be different +from the first use of \verb|\gls| depending on the style. + +\forglsentries{\thislabel}{\glscategory{\thislabel}: +\glsfirst{\thislabel}.\glspar} + +\chapter{Text Form} +Text form using \verb|\glstext|. This may be different +from the subsequent use of \verb|\gls| depending on the style. + +\forglsentries{\thislabel}{\glscategory{\thislabel}: +\glstext{\thislabel}.\glspar} + +\chapter{First Form With Insert} +First form using \texttt{\string\glsfirst\marg{label}[-insert]}. +This is different from the first use of \verb|\gls| +as can be seen by the location of the inserted material. +(There's no check for the conditional +\verb|\ifglsxtrinsertinside|.) In general it's best not +to use \verb|\glsfirst| with abbreviations. Use either +\verb|\gls| (possibly with a reset) or \verb|\glsxtrfull|. + +\forglsentries{\thislabel}{\glscategory{\thislabel}: +\glsfirst{\thislabel}[-insert].\glspar} + +\chapter{Text Form With Insert} +Text form using \texttt{\string\glstext\marg{label}[-insert]}. +This doesn't check for the conditional +\verb|\ifglsxtrinsertinside|. + +\forglsentries{\thislabel}{\glscategory{\thislabel}: +\glstext{\thislabel}[-insert].\glspar} + +\chapter{Summary} + +\renewcommand{\do}[1]{\section{#1} +First use \texttt{\string\gls\marg{label}}: +\glsreset{sample-#1}\gls{sample-#1}.\par\noindent +Next use \texttt{\string\gls\marg{label}}: \gls{sample-#1}.\par\noindent +First use \texttt{\string\gls\marg{label}[-insert]}: +\glsreset{sample-#1}\gls{sample-#1}[-insert].\par\noindent +Next use \texttt{\string\gls\marg{label}[-insert]}: +\gls{sample-#1}[-insert].\par\noindent +\texttt{\string\glsxtrfull\marg{label}[-insert]}: +\glsxtrfull{sample-#1}[-insert].\par\noindent +\texttt{\string\glsxtrshort\marg{label}[-insert]}: +\glsxtrshort{sample-#1}[-insert].\par\noindent +\texttt{\string\glsxtrlong\marg{label}[-insert]}: +\glsxtrlong{sample-#1}[-insert].\par\noindent +Name: \glsentryname{sample-#1}.\par\noindent +Sort: \texttt{\glsentrysort{sample-#1}}.\par\noindent +Description: \glsentrydesc{sample-#1}.\par +} + +\dolistloop{\stylelist} +\printglossaries +\end{document} 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 07a12467f7c..ed87c16fa71 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 8faeed5a65e..2f1cf0d4fdf 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 b64f4b44d81..3afb3608d2e 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 1071fb37230..540bf8673a0 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 13bf53dbf0f..d10caf1f747 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 d0d864f2b7a..ab7bf7a86bd 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 ee28217f909..bfe691c532a 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 f76d9fd7da6..0d0c310ebb1 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 1aa9e8fb0ce..67fca0e4b05 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 a80cebf7ffd..c545e682acf 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 1b03fbba473..e66c2a7988c 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 6f406982eb3..25f232a7bea 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 868aedc2c5e..59f752940c5 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 02ce8a4f383..e9594619063 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 67ac21243b4..08f78f83be8 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 8c36388ebbe..13b41b8260a 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 633be418894..54b01dfc016 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 4cbbbd2466a..fa88695e96a 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 0c5e1996734..0bc99043288 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 d378caa5497..3f33aae33fa 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 f1cc4ad5d00..7930d499cde 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 b88a22bdbc3..12a0b64a6fc 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 7b918de1735..2c4c9093ce9 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 7dce6a4c727..3beaf97f60d 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 ba4f88c7a3b..dc4700f8e66 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 81054dc1f7e..f157e48fc95 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 01bb9135c6a..7dea23246b7 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 f780bed07a6..dcc97527138 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 cf281d9b556..f70c3f6b84b 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 374aa603145..3cd0ed79808 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 47ddf992d2d..ef4105f02c2 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 b819fd7a202..694229ff10b 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 e5c936e7351..382c99783e8 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 386b78f3e28..ea53c5a2126 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 54032c41937..2f19fd70677 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 2c74cb25b1c..820b8053476 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 d7628e18e3d..52cbdae9772 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 d74b2d1bcbf..841fb8a28d7 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 b4bfdcab4ea..ed16221737b 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 630a42cb294..cb0ee4284e1 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 2cef4c690b7..dfccb3766bc 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 88700231d13..8f121b325c5 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 bb04e1afcd5..c7cc35fc662 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 0f86f395e37..550f60c14aa 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 dc364f438f5..c39a3c68445 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 -- cgit v1.2.3