From c970e86904ff1076f46506d6df9fa4a06a30ceab Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 2 May 2016 22:49:50 +0000 Subject: glossaries-extra (2may16) git-svn-id: svn://tug.org/texlive/trunk@40839 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/doc/latex/glossaries-extra/CHANGES | 41 + .../texmf-dist/doc/latex/glossaries-extra/README | 4 +- .../glossaries-extra/glossaries-extra-code.pdf | Bin 606467 -> 645845 bytes .../glossaries-extra/glossaries-extra-manual.html | 6114 ++++++++++++-------- .../glossaries-extra/glossaries-extra-manual.pdf | Bin 497064 -> 524589 bytes .../glossaries-extra/glossaries-extra-manual.tex | 728 ++- .../doc/latex/glossaries-extra/sample-abbrv.pdf | Bin 43319 -> 43319 bytes .../doc/latex/glossaries-extra/sample-accsupp.pdf | Bin 80229 -> 80757 bytes .../doc/latex/glossaries-extra/sample-accsupp.tex | 4 +- .../latex/glossaries-extra/sample-acronym-desc.pdf | Bin 50368 -> 50368 bytes .../doc/latex/glossaries-extra/sample-acronym.pdf | Bin 36745 -> 36745 bytes .../latex/glossaries-extra/sample-altmodifier.pdf | Bin 35308 -> 35308 bytes .../glossaries-extra/sample-autoindex-hyp.pdf | Bin 141074 -> 140858 bytes .../latex/glossaries-extra/sample-autoindex.pdf | Bin 146482 -> 146227 bytes .../doc/latex/glossaries-extra/sample-crossref.pdf | Bin 40135 -> 40135 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-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 -> 81591 bytes .../glossaries-extra/sample-mixed-abbrv-styles.pdf | Bin 57823 -> 57823 bytes .../doc/latex/glossaries-extra/sample-mixture.pdf | Bin 159740 -> 159472 bytes .../doc/latex/glossaries-extra/sample-mixture.tex | 39 + .../latex/glossaries-extra/sample-name-font.pdf | Bin 0 -> 202100 bytes .../latex/glossaries-extra/sample-name-font.tex | 355 ++ .../doc/latex/glossaries-extra/sample-nested.pdf | Bin 67736 -> 67736 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 19835 -> 19837 bytes .../doc/latex/glossaries-extra/sample-onthefly.pdf | Bin 43481 -> 43481 bytes .../doc/latex/glossaries-extra/sample-pages.pdf | Bin 0 -> 38801 bytes .../doc/latex/glossaries-extra/sample-pages.tex | 34 + .../doc/latex/glossaries-extra/sample-postdot.pdf | Bin 37063 -> 37063 bytes .../doc/latex/glossaries-extra/sample-postlink.pdf | Bin 68876 -> 68876 bytes .../doc/latex/glossaries-extra/sample-prefix.pdf | Bin 33119 -> 33119 bytes .../doc/latex/glossaries-extra/sample-trans.pdf | Bin 0 -> 49455 bytes .../doc/latex/glossaries-extra/sample-trans.tex | 54 + .../doc/latex/glossaries-extra/sample-undef.pdf | Bin 33231 -> 33231 bytes .../glossaries-extra/sample-unitentrycount.pdf | Bin 61058 -> 61058 bytes .../doc/latex/glossaries-extra/sample.pdf | Bin 45747 -> 45747 bytes .../latex/glossaries-extra/glossaries-extra.dtx | 1920 ++++-- .../latex/glossaries-extra/glossaries-extra.ins | 2 +- .../glossaries-extra-stylemods.sty | 2 +- .../latex/glossaries-extra/glossaries-extra.sty | 1002 +++- 45 files changed, 7123 insertions(+), 3176 deletions(-) create mode 100644 Master/texmf-dist/doc/latex/glossaries-extra/sample-name-font.pdf create mode 100644 Master/texmf-dist/doc/latex/glossaries-extra/sample-name-font.tex create mode 100644 Master/texmf-dist/doc/latex/glossaries-extra/sample-pages.pdf create mode 100644 Master/texmf-dist/doc/latex/glossaries-extra/sample-pages.tex create mode 100644 Master/texmf-dist/doc/latex/glossaries-extra/sample-trans.pdf create mode 100644 Master/texmf-dist/doc/latex/glossaries-extra/sample-trans.tex (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/CHANGES b/Master/texmf-dist/doc/latex/glossaries-extra/CHANGES index d5d29e15d8b..631b693993e 100644 --- a/Master/texmf-dist/doc/latex/glossaries-extra/CHANGES +++ b/Master/texmf-dist/doc/latex/glossaries-extra/CHANGES @@ -1,3 +1,44 @@ +1.04 (2016-05-02): + + * Added \GlsXtrEnablePreLocationTag + + * Added check for category \glsxtrpostname... in + \glxstrpostnamehook + + * Added new abbreviation styles: + - long-short-user + - long-short-user-desc + - short-long-user + - short-long-user-desc + and their accompanying commands \glsxtruserfield, + \glsxtruserparen, \glsabbrvuserfont and \glsxtrusersuffix. + + * Added new abbreviation styles: + - long-em-short-em + - long-em-short-em-desc + - short-em-long-em + - short-em-long-em-desc + and their accompanying commands \glsabbrvemfont and + \glsfirstlongemfont + + * Fixed sort in long-short-desc abbreviation style. + + * Reorganised naming scheme of abbreviation styles. + (Backward-compatible synonyms provided.) + + * Added \glsxtrregularfont + + * Added \glslongfont and \glslongdefaultfont + + * Added glossdescfont and glossnamefont attribute checks in + \glossentryname, \Glossentryname and \glossentrydesc + + * Tidied up accessibility support + + * Modified \glstext, \glsfirst, \glsplural, \glsfirstplural + (and case-changing variants) to set the abbreviation style + if required. + 1.03 (2016-04-27): * Fixed bug in \glsxtrtitleshortpl diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/README b/Master/texmf-dist/doc/latex/glossaries-extra/README index dc7a629a04a..bbbc4adbac6 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.03 +LaTeX Package : glossaries-extra v1.04 -Last Modified : 2016-04-27 +Last Modified : 2016-05-02 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 4a2f9b6f32a..71793fb9b57 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 8ca0f432659..bc1224a8034 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 @@ -10,7 +10,7 @@ - + -

-

+

-

+

-

-

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

+

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

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

2016-04-27

+

2016-05-02

-

+

-

-

+

Abstract

-

The

The glossaries-extra package is an extension to the glossaries package, providing @@ -367,7 +367,7 @@ class="ecss-1000">glossaries

-

Since

Since glossaries-extra internally loads the glossaries package, you also need to have @@ -405,7 +405,7 @@ class="E">EX distribution? or Updating TEX on Linux.)
-

+

@@ -474,16 +474,16 @@ href="#glossary">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 @@ -499,10 +499,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 @@ -513,7 +513,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:

-

This is like: +

This is like: @@ -587,7 +587,7 @@ class="ecss-1000">babel\usepackage[toc,nopostdot]{glossaries}  
\usepackage{glossaries-extra}

-

+

  • @@ -599,7 +599,7 @@ class="ecss-1000">babel\usepackage{babel}  
    \usepackage{glossaries-extra}
  • -

    This is like: +

    This is like: @@ -610,7 +610,7 @@ class="ecss-1000">babel\usepackage[toc,nopostdot,translate=babel]{glossaries}  
    \usepackage{glossaries-extra} -

    +

  • @@ -621,7 +621,7 @@ class="ecss-1000">babel\usepackage{glossaries-extra} -

    This is like: +

    This is like: @@ -631,7 +631,7 @@ class="ecss-1000">babel\usepackage[toc,nopostdot,noredefwarn]{glossaries}  
    \usepackage{glossaries-extra} -

    However @@ -642,7 +642,7 @@ class="ecti-1000">However  
    \usepackage{glossaries}  
    \usepackage{glossaries-extra} -

    This is like: +

    This is like: @@ -652,20 +652,20 @@ class="ecti-1000">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

    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 \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 .gls file associated with the main glossary. -

    If you use

    If you use makeglossaries, you’ll get the warning message: @@ -716,7 +716,7 @@ 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 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 @@ -751,7 +751,7 @@ class="ectt-1000">.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 @@ -773,13 +773,13 @@ class="ecss-1000">nomain\printglossaries  
    \end{document} -

    -

    +

    +

    -

    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 package options may be used in that command. -

    In addition to those options recognised by

    In addition to those options recognised by glossaries, there are some new ones provided by accsuppLoad the glossaries-accsupp package (if not already loaded). -

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

    If you want to define styles that can interface with the accessibility support provided by glossaries-accsupp use the Accessibility Support for -

    Note that the

    Note that the accsupp option can only be used as a package option (not through glossariesglossaries user manual for further details. -

    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 @@ -977,14 +977,14 @@ class="ectt-1000">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 babelbabel§10 Multi-Lingual Support for further details.) -

    If you don’t use the

    If you don’t use the abbreviations 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 acronymmain:

    -

    -

    Note that there are no analogous options to the

    +

    Note that there are no analogous options to the glossaries package’s acronymlistssymbolsThis is passed to glossaries but will additionally define -



    \glsxtrnewsymbol  }{symbol}

    -

    +

    which is equivalent to

    numbersThis is passed to glossaries but will additionally define -



    \glsxtrnewnumber  options]{number}

    -

    +

    which is equivalent to

    shortcuts=noneshortcuts=false): don’t define any of the shortcut commands (default). -

    Note that multiple invocations of the

    Note that multiple invocations of the shortcuts 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 option may only be used in the preamble. -

    +

    -

    Top

    1.3 Modifications to Existing Commands or Styles

    -

    The commands used by

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

    The

    The \newglossaryentry command has a new key called category, which sets the @@ -1258,7 +1258,7 @@ further information about categories. -

    The

    The \newterm command (defined through the indexglossaries-extra. (See §2 Abbreviations.) -

    +

    -

    Top

    1.3.1 Entry Indexing

    -

    The

    The glossaries-extra package provides an extra key for commands like \gls and \glsadd\glsaddall) since the whole purpose of that command is to index an entry. -

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

    The value of the

    The value of the see key is now saved as a field. This isn’t the case with glossariesdocument environment on the next run. -

    This modification allows

    This modification allows glossaries-extra to provide -



    \glsxtraddallcrossrefs  \glsxtraddallcrossrefs

    -

    +

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

    As a by-product of this enhancement, the

    As a by-product of this enhancement, the see key will now work for entries defined in the document environment, but it’s still best to define entries in the @@ -1378,12 +1378,12 @@ class="ectt-1000">\makeglossaries. -

    +

    -

    Top

    1.3.2 Entry Display Style Modifications

    -

    Recall from the

    Recall from the glossaries package that commands such as \gls display text at @@ -1395,289 +1395,379 @@ whether or not it actually has a hyperlink. The actual text and the way it’s displayed depends on the command used (such as \gls) and the entry format. -

    The default entry format (

    The default entry format (\glsentryfmt) used in the link-text by commands like \gls (but not commands like \gls, \glsxtrfull, \glsxtrshort and \glsxtrlong (but not commands like +\glslink, \glsfirst and \glstext) is changed by glossaries-extra to test for -regular entries, which are determined as follows: +class="ecss-1000">glossaries-extra to test for regular +entries, which are determined as follows:

    • If an entry is assigned to a category that has the regular attribute set (see attribute set (see §4 Categories), the entry is considered a regular entry, even if it has a value for the short key. In this case key. In this case \glsentryfmt uses \glsgenentryfmt + id="dx1-7013"> (provided by glossaries), which uses the ), which uses the first (or (or firstplural) value on ) value on first use and the text (or (or plural) value on subsequent use. + id="dx1-7019">) value on subsequent use.
    • An entry that doesn’t have a value for the short key is assumed to be + id="dx1-7020"> key is assumed to be a regular entry, even if the regular attribute isn’t set to “true” (since it can’t + id="dx1-7021"> attribute isn’t set to “true” (since it can’t be an abbreviation without the short form). In this case \glsentryfmt uses \glsgenentryfmt. + id="dx1-7022">.
    • If an entry does has a value for the short key and hasn’t been marked as + id="dx1-7023"> key and hasn’t been marked as a regular entry through the regular attribute, it’s not considered a regular + id="dx1-7024"> attribute, it’s not considered a regular entry. In this case \glsentryfmt uses \glsxtrgenabbrvfmt (defined by + id="dx1-7025"> (defined by glossaries-extra) which is governed by the abbreviation style (see §2.2 Abbreviation Styles).
    -

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

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

    The

    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 +you can redefine \glsxtrregularfont. This is more precise than changing +\glstextformat which will be applied to all linking commands for all entries. + + + +

    For example: + + + +

    +
    +\renewcommand*{\glsxtrregularfont}[1]{\textsf{#1}} +
    +

    You can access the label through \glslabel. For example, you can query the +category: + + + +

    +
    +\renewcommand*{\glsxtrregularfont}[1]{% + 
     \glsifcategory{\glslabel}{general}{\textsf{#1}}{#1}} +
    +

    or query the category attribute: + + + +

    +
    +\glssetcategoryattribute{general}{font}{sf} + 
    \renewcommand*{\glsxtrregularfont}[1]{% + 
     \glsifattribute{\glslabel}{font}{sf}{\textsf{#1}}{#1}} +
    +

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

    +
    +\glssetcategoryattribute{general}{font}{textsf} + 
    \glssetcategoryattribute{acronym}{font}{emph} + 
    \renewcommand*{\glsxtrregularfont}[1]{% + 
      \glshasattribute{\glslabel}{font}% + 
      {\csuse{\glsgetattribute{\glslabel}{font}}{#1}}% + 
      {#1}% + 
    } +
    +

    (Remember the category and attribute settings will only queried here for regular +entries, so if the abbreviation style for the acronym category in the above example +changes the regular attribute to “false”, \glsxtrregularfont will no longer +apply.) +

    The \glspostlinkhook provided by the glossaries package to insert information + id="dx1-7032"> package to insert information after the link-text produced by commands like link-text produced by commands like \gls and \glstext is redefined to -



    \glsxtrpostlinkhook  \glsxtrpostlinkhook

    -

    +

    This command will discard a following full stop (period) if the discardperiod attribute + id="dx1-7035"> 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. -

    By default

    By default \glsxtrpostlink just does \glsxtrpostlinkcategory if + id="dx1-7038"> if it exists, where ⟨category⟩ is the category label for the current entry. (For example, for the general category, 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 is defined the hook will do that and then insert a + id="dx1-7040"> is defined the hook will do that and then insert a full stop with the space factor adjusted to match the end of sentence. If \glsxtrpostlinkcategory hasn’t been defined, the space factor is adjusted to match + id="dx1-7041"> hasn’t been defined, the space factor is adjusted to match the end of sentence. This means that if you have, for example, an entry that ends with a full stop, a redundant following full stop will be discarded and the space factor adjusted (in case the entry is in uppercase) unless the entry is followed by additional material, in which case the following full stop is no longer redundant and needs to be reinserted. -

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


    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 first -use for entries in the

    For example, suppose you want to append the description in parentheses on first +use for entries in the symbol category: + id="dx1-7046"> category:

    -
    +
    \newcommand*{\glsxtrpostlinksymbol}{%  
      \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- within the post-link-text hook as by this point the first use flag will have been unset. Instead you can use -



    \glsxtrifwasfirstuse  \glsxtrifwasfirstuse{true}{false}

    -

    +

    This will do ⟨true⟩ if the last used entry was the first use for that entry, otherwise it + id="dx1-7053">first use for that entry, otherwise it will do ⟨false⟩. (Requires at least glossaries v4.19 to work properly.) This command is + id="dx1-7054"> v4.19 to work properly.) This command is locally set by commands like \gls, so don’t rely on it outside of the post-link-text + id="dx1-7055">link-text hook. -

    Note that commands like

    Note that commands like \glsfirst and and \glsxtrfull fake first use for the + id="dx1-7057"> fake first use for the benefit of the post-link-text hooks by setting link-text hooks by setting \glsxtrifwasfirstuse to \@firstoftwo. (Although, depending on the styles in use, they may not exactly match the text produced by \gls-like commands on first use.) However, the + id="dx1-7060">-like commands on first use.) However, the postfootnote style alters short-postfootnote style alters \glsxtrfull so that it fakes non-first use otherwise + id="dx1-7063">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 link-text +

    +

    For example, if you want to place the description in a footnote after the link-text on first use for the first use for the general category: + id="dx1-7066"> category:

    -
    +
    \newcommand*{\glsxtrpostlinkgeneral}{%  
      \glsxtrifwasfirstuse{\footnote{\glsentrydesc{\glslabel}}}{}%  
    }
    -

    -

    The postfootnote abbreviation style uses the post-

    +

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


    etc with: +


    \GlsXtrSetDefaultGlsOpts  \GlsXtrSetDefaultGlsOpts{options}

    -

    +

    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 number list. These defaults may be overridden by other settings (such as category attributes) in addition to any settings passed in the option argument of commands like \glslink and \gls. -

    Note that if you don’t want

    Note that if you don’t want any indexing, just omit \makeglossaries and \printglossaries (or analogous commands). -

    Commands like

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



    \GlsXtrSetAltModifier  \GlsXtrSetAltModifier{char}{options}

    -

    +

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

    When choosing the character ⟨

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

    -

    Example: +

    +

    Example:

    -
    +
    \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 @@ -1722,21 +1812,21 @@ 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. -

    +

    -

    Top

    1.3.3 Entry Counting Modifications

    -

    The

    The \glsenableentrycount command is modified to allow for the entrycount\glsenableentrycount, but you also need to set the appr href="#sec:categories">§4 Categories). -

    For example, instead of just doing: +

    For example, instead of just doing:

    -
    +
    \glsenableentrycount
    -

    you now need to do: +

    you now need to do:

    -
    +
    \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 §5 Entry Counting. -

    +

    -

    Top

    1.3.4 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 @@ -1891,41 +1981,41 @@ class="ectt-1000">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: @@ -1933,10 +2023,10 @@ class="ectt-1000">\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 @@ -1948,7 +2038,7 @@ class="ectt-1000">\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: @@ -1956,13 +2046,13 @@ class="ectt-1000">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 sortlong-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

    then (using the long-short style) the first use will be like

    -
    +
    {\acronymfont{\glsentryshort{ssi}}} enabled  
    {\acronymfont{\glsentryshort{html}}} (SHTML)
    -

    whereas if the entry is defined as: +

    whereas if the entry is defined as:

    -
    +
    \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 @@ -2181,7 +2271,7 @@ class="ectt-1000">\glsxtrshort. Note that \acrshort doesn’t set the abbreviation style. -

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

    +

    -

    Top

    1.3.5 Acronym Style Modifications

    -

    The

    The glossaries-extra package provides a new way of dealing with abbreviations and redefines \newacronymglossaries you need to use -



    \RestoreAcronyms  \RestoreAcronyms

    -

    +

    but be careful using this if you also want abbreviations as they will clash if you attempt to use them in the same glossary as generic acronyms from the glossaries package. -



    \glsacspace  \glsacspace{label}

    -

    +

    The space command \glsacspace used by the long-sp-shortlong-sp-shortglossaries 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. -

    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

    1.3.6 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 commands

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


    : +


    \glsxtrpostnamehook  \glsxtrpostnamehook{label}

    -

    +

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



    \glsxtrdoautoindexname{label}{indexname}

    -

    +

    See §6 Auto-Indexing for further details. -

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

    As from version 1.04, the post-name hook \glsxtrpostnamehook will also do +\glsxtrpostnamecategory⟩ if it exists. You can use \glscurrententrylabel to +obtain the entry label with the definition of this command. For example, +suppose you are using a glossary style the doesn’t display the symbol, you can +insert the symbol after the name for a particular category, say, the “symbol” +category: + + + +

    +
    +\newcommand*{\glsxtrpostnamesymbol}{\space + 
     (\glsentrysymbol{\glscurrententrylabel})} +
    +

    +

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



    \glsxtrpostdescription  \glsxtrpostdescription

    -

    +

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

    This new command will do

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

    Since both . +

    Since both \glossentry and \subglossentry set -



    \glscurrententrylabel  \glscurrententrylabel

    -

    +

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

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

    For example, suppose you want to insert the plural form in brackets after the description in the glossary, but only for entries in the general category, then you could + id="dx1-11018"> category, then you could 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 \glsxtrpostdescription. class="ectt-1000">\glspostdescription to do nothing instead of using the nopostdot option to suppress the terminating full stop.)
    -

    -

    As from v1.02, option to suppress the terminating full stop.)

    +

    +

    As from v1.02, glossaries-extra now includes the package glossaries-extra-stylemods + id="dx1-11020"> that will redefine the predefined styles to include the post-description hook (for those that are missing it). You will need to make sure the styles have already been defined before loading glossaries-extra. For example: + id="dx1-11021">. 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 ⟨name⟩ as a package option to glossaries-extra-stylemods. For example: + id="dx1-11022">. For example:

    -
    +
    \usepackage{glossaries-extra}  
    \usepackage[longragged]{glossaries-extra-stylemods}
    -

    Another option is to use the

    Another option is to use the stylemods key when you load key when you load glossaries-extra. You can omit a value if you only want to use the predefined styles that are automatically loaded by glossaries (for example, the long3col style): + id="dx1-11024"> style):

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

    Or the value of

    Or the value of stylemods may be a comma-separated list of the style package + id="dx1-11025"> 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 + id="dx1-11026"> style is dealt with slightly differently. The original definition provided by the glossary-inline package uses package uses \glspostdescription at the end of the glossary (not after each entry description) within the definition of \glspostinline. @@ -2492,19 +2601,91 @@ class="ectt-1000">\glsxtrpostdescription (not \glspostdescription). This means that the modified inline style isn’t affected by the style isn’t affected by the nopostdot option, but the post-description + id="dx1-11029"> option, but the post-description category hook can still be used. +

    The number list is now placed inside the argument of +


    \GlsXtrFormatLocationList  \GlsXtrFormatLocationList{number list} +

    +

    +This is internally used by \glossaryentrynumbers. The nonumberlist redefines +\glossaryentrynumbers so that it doesn’t display the number list, but it still saves +the number list in case it’s required. +

    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 number list +then redefine \GlsXtrFormatLocationList as appropriate. Don’t modify +\glossaryentrynumbers. +

    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  \GlsXtrEnablePreLocationTag{page}{pages} +

    +

    +where ⟨page⟩ is the text to display if the number list only contains a single location and +⟨pages⟩ is the text to display otherwise. For example: + + + +

    +
    +\GlsXtrEnablePreLocationTag{Page: }{Pages: } +
    +

    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 sample-pages.tex.

    -

    -

    +

    Top

    2. 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 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 @@ -2557,7 +2738,7 @@ class="ecti-1000">short⟩ (without appending the plural suffix). Se href="#sec:categories">§4 Categories for further details. -

    See

    See §1.3.4 Nested Links regarding the pitfalls of using commands like \gls\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\setacronymstyle\newacronymstyle) you need to use -



    \RestoreAcronyms  \RestoreAcronyms

    -

    +

    However, if you do this take care not to mix acronyms with other types of entries within the same glossary. (You may also need to redefine \acronymtype.) -

    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 shortshort-nolong for entries in the acronym category and glossaries package, although they may produce similar results.) -

    The short form is displayed within commands like

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



    \glsfirstabbrvfont  \glsfirstabbrvfont{short-form}

    -

    +

    on first use and -



    \glsabbrvfont  \glsabbrvfont{short-form}

    -

    +

    for subsequent use. -

    These commands (

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

    -

    If you use the

    +

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



    \glsabbrvdefaultfont  \glsabbrvdefaultfont{text}

    -

    +

    whereas the long-short-sc style redefines \glsabbrvdefaultfont and use one of the base styles, su class="ecss-1000">long-short, or define a new style in a similar manner to the “sc”, “sm” or “em” styles. -

    All predefined abbreviation styles redefine

    Similarly the basic styles redefine \glsfirstabbrvfont to use -



    \glsfirstabbrvdefaultfont  \glsfirstabbrvdefaultfont{short-form}

    -

    -By default, this just does \glsabbrvfont{short-form} so the first use format -matches the subsequence use format for the short form. -

    The commands that display the full form for abbreviations use

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

    +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 provided by glossaries-extra -redefine \glsfirstlongfont to use -


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

    -

    -You can redefine this command if you want to change the font used by the long form -on first use for all your abbreviations, or you can define your own abbreviation style -that provides a different format for only those abbreviations defined with that -style. -

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

    +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 in the inserted text emphasized, whereas the +

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

    Note that for some styles, such as the

    Note that for some styles, such as the short-long, the inserted text would be + id="dx1-12043">, 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

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

    These formatting commands aren’t stored in the short, , shortplural, , long or + id="dx1-12052"> or longplural fields, which means they won’t be used within commands like + id="dx1-12053"> 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 + id="dx1-12054"> and the case-changing variants don’t use \glsfirstlongfont.

    -

    Top

    2.1 Tagging Initials

    -

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

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



    \GlsXtrEnableInitialTagging  }{cs}

    -

    +

    before you define your abbreviations. -

    This command (robustly) defines ⟨

    This command (robustly) defines ⟨cs⟩ (a control sequence) to accept a single argument, which is the letter (or letters) that needs to be tagged. The normal behaviour of this command within the document is to simply do its argument, but in @@ -2819,33 +3054,33 @@ 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 tagging§4 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 @@ -2887,17 +3122,17 @@ example:  
    \newabbreviation{xml}{XML}  
     {e\itag{x}tensible \itag{m}arkup \itag{l}anguage}
    -

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

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

    +

    -

    Top

    2.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 (abbreviation by default). New abbreviations will pick up the current style -according to their given category. If there is no style set for the category, -the fallback 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 longabbreviation category. Some styles may automatically +modify one or more of the attributes associated with the given category. For +example, the long-noshort and shortshort-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

    @@ -2948,7 +3183,7 @@ class="ectt-1000">\RestoreAcronyms (see §1.3.5 Acronym Style Modifications). -

    Abbreviations can be used with the standard

    Abbreviations can be used with the standard glossaries commands, such as \gls\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 +

    As mentioned earlier, the inline full form may not necessarily match the format used on first use with \gls. For example, the short style only displays the short form -on 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 +class="ecss-1000">short-nolong style only displays the +short form on 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 commands described in §3 Entries in Sectioning Titles, Headers, Captions and Contents instead.
    -

    -

    The arguments ⟨

    +

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

    First letter upper case short form: -


    First letter upper case short form: +


    \Glsxtrshort  label}[insert]

    -

    -

    First letter upper case long form: -


    +

    First letter upper case long form: +


    \Glsxtrlong  label}[insert]

    -

    -

    First letter upper case inline full form: -


    +

    First letter upper case inline full form: +


    \Glsxtrfull  label}[insert]

    -

    -

    All upper case short form: -


    +

    All upper case short form: +


    \Glsxtrshort  label}[insert]

    -

    -

    All upper case long form: -


    +

    All upper case long form: +


    \Glsxtrlong  ]

    -

    -

    All upper case inline full form: -


    +

    All upper case inline full form: +


    \GLSxtrfull  label}[insert]

    -

    -

    Plural forms are also available. -

    Short form plurals: -


    +

    Plural forms are also available. +

    Short form plurals: +


    \glsxtrshortpl  label}[insert]

    -

    -


    +


    \Glsxtrshortpl  label}[insert]

    -

    -


    +


    \GLSxtrshortpl  label}[insert]

    -

    -

    Long form plurals: -


    +

    Long form plurals: +


    \glsxtrlongpl  label}[insert]

    -

    -


    +


    \Glsxtrlongpl  label}[insert]

    -

    -


    +


    \GLSxtrlongpl  label}[insert]

    -

    -

    Full form plurals: -


    +

    Full form plurals: +


    \glsxtrfullpl  label}[insert]

    -

    -


    +


    \Glsxtrfullpl  label}[insert]

    -

    -


    +


    \GLSxtrfullpl  label}[insert]

    -

    -

    Be careful about using

    +

    Be careful about using \glsentryfull, \Glsentryfull, \glsentryfullpl and @@ -3234,16 +3469,16 @@ class="ectt-1000">\glsxtrfull instead. Similarly for \glsentryshort etc.
    -

    +

    -

    +

    -

    Top

    2.3 Shortcut Commands

    -

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

    The abbreviation shortcut commands can be enabled using the package option shortcuts=abbreviation (or table 2.1. -


    @@ -3448,10 +3683,10 @@ class="ectt-1000">\newabbreviation
    -

    Top

    2.4 Predefined Abbreviation Styles

    -

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

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

    The regular entry abbreviation styles set the

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

    The other abbreviation styles don’t modify the

    The other abbreviation styles don’t modify the regular attribute. The first\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

    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 @@ -3521,154 +3756,380 @@ class="ecss-1000">fontenc package with the T1 option or something similar.
    -

    -

    The “sc” styles all use -


    +

    The “sc” styles all use +


    \glsxtrscfont  \glsxtrscfont{text}

    -

    +

    which is defined as

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

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


    \glsxtrscsuffix

    and +


    \glsxtrfirstscfont  \glsxtrfirstscfont{text}

    +

    +which is defined as + + + +

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

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


    \glsxtrscsuffix  \glsxtrscsuffix

    -

    +

    This just defined as

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

    The

    The \glstextup command is provided by command is provided by glossaries and is used to switch off the + id="dx1-16029"> 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-16030"> 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 and noshortplural + id="dx1-16032"> attributes. See §4 Categories for further details.) -

    The “sm” styles all use -


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

    -

    +

    This is defined as:

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

    If you want to use this, you must explicitly load the

    and +


    \glsxtrfirstsmfont  \glsxtrfirstsmfont{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 - 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 + id="dx1-16036"> 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:

    -
    +
    \renewcommand*{\glsxtrsmfont}[1]{\textsmaller{\MakeTextUppercase{#1}}}
    -

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


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


    \glsxtrsmsuffix  \glsxtrsmsuffix

    -

    +

    This just does \glspluralsuffix. -

    The “em” styles all redefine \glsabbrvfont to use \emph. This is done explicitly -and not through a helper command such as \glsxtrscfont. -

    Some of the styles use -


    \glsxtrfullsep. +

    The “em” styles all use +


    \glsabbrvemfont  \glsabbrvemfont{text}

    +

    +which is defined as: + + + +

    +
    +\newcommand*{\glsabbrvemfont}[1]{\emph{#1}} +
    +

    and +


    \glsfirstabbrvemfont  \glsfirstabbrvemfont{text}

    +

    +which is defined as: + + + +

    +
    +\newcommand*{\glsfirstabbrvemfont}[1]{\glsabbrvemfont{#1}} +
    +

    +

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

    -

    -

    -

    Top

    2.4.1 Predefined Abbreviation Styles that Set the Regular Attribute

    -

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

    -short
    This only displays the short form on first use. The name is set to the - short form. The description is set to the long form. The inline full form +

    +

    The new naming scheme for abbreviation styles is as follows:

    +
      +
    • field1⟩[-modifier1⟩]-field2⟩[-modifier2⟩][-user] +

      This is for the parenthetical styles. The -modifier⟩ parts may be omitted. + These styles display ⟨field1⟩ followed by ⟨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 -modifier⟩ part is present, then the field has a font changing command + applied to it. +

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

      Examples:

      +
        +
      • long-noshort-sc: ⟨field1⟩ is the long form, the short form is set in + smallcaps but omitted in the display style. +
      • +
      • long-em-short-em: both the long form and the short form are + emphasized. The short form is in parentheses. +
      • +
      • long-short-em: the short form is emphasized but not the long form. + The short form is in parentheses. +
      • +
      • long-short-user: if the user1 key has been set, this produces the style + ⟨long⟩ (⟨short⟩, ⟨user1⟩) otherwise it just produces ⟨long⟩ (⟨short⟩).
      +
    • +
    • field1⟩[-modifier1⟩]-[post]footnote +

      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 -modifier1⟩ is present, ⟨field1⟩ has a font-changing command applied to + it. +

      Examples:

      + + + +
        +
      • 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 + the footnote outside of the link-text.
      +

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

      +

    • +
    • style-desc +

      Like ⟨style⟩ but the description key must be provided when defining abbreviations + with this style. +

      Examples:

      +
        +
      • short-long-desc: like short-long but requires a description. +
      • +
      • short-em-footnote-desc: like short-em-footnote but requires a + description.
      +
    +

    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

    2.4.1 Predefined Abbreviation Styles that Set the Regular Attribute

    +

    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 first use. The name is set to + the short form. The description is set to the long form. The inline full form displays ⟨short⟩ (⟨long⟩). The long form on its own can be displayed through @@ -3677,531 +4138,989 @@ class="ectt-1000">\glsxtrlong.
    short-scshort
    Like short but redefines \glsabbrvfont to use A synonym for short-nolong. +
    +short-sc-nolong
    Like short-nolong but redefines \glsabbrvfont to use + \glsxtrscfont. + id="dx1-17011">.
    short-sm
    Like short but redefines \glsabbrvfont to use short-sc
    A synonym for short-sc-nolong +
    +short-sm-nolong
    Like short-nolong but redefines \glsabbrvfont to use + \glsxtrsmfont. + id="dx1-17016">. +
    +short-sm
    A synonym for short-sm-nolong. +
    +short-em-nolong
    Like short-nolong but redefines \glsabbrvfont to use + \glsxtremfont.
    short-em
    Like short but redefines \glsabbrvfont to use \emph. + id="dx1-17022">
    A synonym for short-em-nolong
    short-desc
    Like the short style, but the short-nolong-desc
    Like the short-nolong style, but the name is set to the full form - and the is set to the full + form and the description must be supplied by the user. You may prefer - to use the short style with the post-description hook set to display + id="dx1-17027"> must be supplied by the user. You may prefer + to use the short-nolong style with the post-description hook set to display the long form and override the description key. (See the sample file + id="dx1-17029"> key. (See the sample file sample-acronym-desc.tex.)
    short-sc-desc
    Like short but redefines \glsabbrvfont to use \glsxtrscfont. +class="ecsx-1000">short-desc
    A synonym for short-nolong-desc.
    short-sm-desc
    Like short-desc but redefines \glsabbrvfont to use +class="ecsx-1000">short-sc-nolong-desc
    Like short-nolong but redefines \glsabbrvfont to use \glsxtrsmfont. +class="ectt-1000">\glsxtrscfont.
    short-em-desc
    short-sc-desc
    A synonym for short-sc-nolong-desc. +
    +short-sm-nolong-desc
    Like short-desc but redefines \glsabbrvfont to use \emph. +class="ecss-1000">short-nolong-desc but redefines \glsabbrvfont to + use \glsxtrsmfont.
    long-desc
    This style only displays the long form, regardless of first or - subsequent use of commands short-sm-desc
    A synonym for short-sm-nolong-desc. +
    +short-em-nolong-desc
    Like short-nolong-desc but redefines \glsabbrvfont to + use \glsxtremfont. +
    +short-em-desc
    A synonym for short-em-nolong-desc. +
    +long-noshort-desc
    This style only displays the long form, regardless of first + or subsequent use of commands \gls. The short form may be accessed + id="dx1-17048">. The short form may be accessed through commands like \glsxtrshort. The inline full form displays ⟨. The inline full form displays ⟨long⟩ (⟨short⟩). -

    The

    The name is set to the long form and the and sort keys are set to the long form and the description must be provided by - the user. The predefined glossary styles won’t display the short form. You - can use the post-description hook to automatically append the short form - to the description. The inline full form will display ⟨long⟩ (⟨ must + be provided by the user. The predefined glossary styles won’t display the + short form. You can use the post-description hook to automatically append + the short form to the description. The inline full form will display ⟨long⟩ + (⟨short⟩).

    long-desc-sc
    long-desc
    A synonym for long-noshort-desc. +
    +long-noshort-sc-desc
    Like the long-desc style but the short form (accessed through - commands like long-noshort-desc style but the short form + (accessed through commands like \glsxtrshort) use ) use \glsxtrscfont. + id="dx1-17058">. + (This style was originally called long-desc-sc. Renamed in version + 1.04, but original name retained as a deprecated synonym for + backward-compatibility.)
    long-desc-sm
    Like long-desc but redefines \glsabbrvfont to use - long-noshort-sm-desc
    Like long-noshort-desc but redefines \glsabbrvfont to + use \glsxtrsmfont. + id="dx1-17062">. (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-desc-em
    long-noshort-em-desc
    Like long-desc but redefines \glsabbrvfont to use \emph. +class="ecss-1000">long-noshort-desc but redefines \glsabbrvfont to + use \glsxtremfont. 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
    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-desc style, but the long-em-noshort-em-desc
    New to version 1.04, like long-noshort-desc but + redefines \glsabbrvfont to use \glsxtremfont. 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-desc style, but the name is set to the short form and the and sort keys are set to the + short form and the description - is set to the long form. + id="dx1-17077"> is set to the long form.
    long-sc
    Like the long style but the short form (accessed through commands like - long
    A synonym for long-noshort +
    +long-noshort-sc
    Like the long-noshort style but the short form (accessed + through commands like \glsxtrshort) use ) use \glsxtrscfont. + id="dx1-17083">. (This style + was originally called long-sc. Renamed in version 1.04, but original name + retained as a deprecated synonym for backward-compatibility.)
    long-sm
    Like long but redefines \glsabbrvfont to use long-noshort-sm
    Like long-noshort but redefines \glsabbrvfont to use + \glsxtrsmfont. + id="dx1-17087">. (This style was originally called long-sm. Renamed in + version 1.04, but original name retained as a deprecated synonym for + backward-compatibility.)
    long-em
    Like long but redefines long-noshort-em
    This style is like long-noshort but redefines \glsabbrvfont + to use \glsxtremfont. The long form isn’t emphasized. (This style was + originally called long-em. Renamed in version 1.04, but original name + retained as a deprecated synonym for backward-compatibility.) +
    +long-em-noshort-em
    New to version 1.04, this style is like long-noshort but + redefines \glsabbrvfont to use \emph. +class="ectt-1000">\glsxtremfont, \glsfirstlongfont to + use \glsfirstlongemfont and \glslongfont to use \glslongemfont. + The short form isn’t used by commands like \gls, but can be obtained + using \glsxtrshort.
    -

    +

    -

    Top

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

    -

    The following abbreviation styles will set the

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

    long-short
    On On first use, this style uses the format ⟨first use, this style uses the format ⟨long⟩ (⟨short⟩). The inline and - display full forms are the same. The short⟩). The inline + and display full forms are the same. The name is set to the short form. The - and sort keys are + + + + set to the short form. (The name key additionally includes the font + command \glsabbrvfont.) The description is set to the long form. The long and short forms are separated - by \glsxtrfullsep. + id="dx1-18007"> is set to the long form. The + long and short forms are separated by \glsxtrfullsep. If you want to + insert material within the parentheses (such as a translation), try the + long-short-user style.
    long-short-sc
    Like long-short but redefines but redefines \glsabbrvfont to use \glsxtrscfont. + id="dx1-18011">.
    long-short-sm
    Like long-short but redefines but redefines \glsabbrvfont to use \glsxtrsmfont. + id="dx1-18014">.
    long-short-em
    Like
    Like long-short but redefines \glsabbrvfont to use \emph. + id="dx1-18016"> but redefines \glsabbrvfont to use + \glsxtremfont.
    long-em-short-em
    New to version 1.04, this style is like long-short-em but + redefines \glsfirstlongfont to use \glsfirstlongemfont. +
    +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 +


    DescribeMacrouseri \glsxtruserfield

    +

    + (which defaults to useri) using \ifglshasfield (provided by glossaries). If the + 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 + within the parentheses in the form ⟨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 + \glsxtrfullsep and then the parenthetical content. The ⟨text⟩ argument + includes the font formatting command, \glsfirstabbrvfont{short} in the + case of the long-short-user style and \glsfirstlongfont{long} 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, \gls{tug} will appear as: +

    +

    TEX User Group (TUG)

    +

    whereas \gls{dante} will appear as: +

    +

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

    +

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

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

    +

    +long-short-desc
    On first use, this style uses the format ⟨long⟩ (⟨short⟩). The inline - and display full forms are the same. The short⟩). The + inline and display full forms are the same. The name is set to the full form. The - is set to the full + form. The sort key is set to ⟨long⟩ (⟨short⟩). Before version 1.04, this was + incorrectly set to the short form. If you want to revert back to this you can + redefine +


    \glsxtrlongshortdescsort  \glsxtrlongshortdescsort

    +

    + For example: + + + +

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

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

    +

    long-short-sc-desc
    Like
    Like long-short-desc but redefines \glsabbrvfont to use + id="dx1-18041"> but redefines \glsabbrvfont to use \glsxtrscfont. + id="dx1-18042">.
    long-short-sm-desc
    Like long-short-desc but redefines but redefines \glsabbrvfont to use \glsxtrsmfont. + id="dx1-18045">.
    long-short-em-desc
    Like long-short-desc but redefines but redefines \glsabbrvfont to use \emph. +class="ectt-1000">\glsxtremfont. +
    +long-em-short-em-desc
    New to version 1.04, this style is like long-short-em-desc but + redefines \glsfirstlongfont to use \glsfirstlongemfont. +
    +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 name key is as long-short-desc. The description + key must be supplied in the optional argument of \newabbreviation (or + \newacronym). The sort key is set to ⟨long⟩ (⟨short⟩) as per the long-short-desc + style.
    short-long
    On first use, this style uses the format ⟨first use, this style uses the format ⟨short⟩ (⟨long⟩). The inline and display full forms are the same. The name is set to the short form. The - and sort keys are set to the + short form. The description is set to the long form. The short and long forms are separated - by \glsxtrfullsep. + id="dx1-18065"> 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 + style.
    short-sc-long
    Like
    Like short-long but redefines \glsabbrvfont to use - but redefines \glsabbrvfont to use \glsxtrscfont. + id="dx1-18069">.
    short-sm-long
    Like
    Like short-long but redefines \glsabbrvfont to use - but redefines \glsabbrvfont to use \glsxtrsmfont. + id="dx1-18072">.
    short-em-long
    Like short-long but redefines but redefines \glsabbrvfont to use \emph. +class="ectt-1000">\glsxtremfont. +
    +short-em-long-em
    New to version 1.04, this style is like short-em-long but redefines + \glsfirstlongfont to use \glsfirstlongemfont. +
    +short-long-user
    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 + the first argument supplied to it is the long form instead of the short + form.
    short-long-desc
    On first use, this style uses the format ⟨first use, this style uses the format ⟨short⟩ (⟨long⟩). The inline - and display full forms are the same. The long⟩). The inline and + display full forms are the same. The name is set to the full form. The - is set to the full form. The description must be supplied by the user. The short and long forms are - separated by + must be supplied by the user. The short and long forms are separated by + \glsxtrfullsep.
    short-sc-long-desc
    Like
    Like short-long-desc but redefines \glsabbrvfont to use + id="dx1-18087"> but redefines \glsabbrvfont to use \glsxtrscfont. + id="dx1-18088">.
    short-sm-long-desc
    Like short-long-desc but redefines but redefines \glsabbrvfont to use \glsxtrsmfont. + id="dx1-18091">.
    short-em-long-desc
    Like short-long-desc but redefines but redefines \glsabbrvfont to use \emph. +class="ectt-1000">\glsxtremfont.
    footnote
    short-em-long-em-desc
    New to version 1.04, this style is like short-em-long-desc but + redefines \glsfirstlongfont to use \glsfirstlongemfont. +
    +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 name key is as short-long-desc. The description + 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 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 marker may be, if the attribute to “true” for + the supplied category, so the first use won’t be hyperlinked (but the footnote + marker may be, if the hyperref package is used). -

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

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

    footnote-sc
    footnote
    A synonym for short-footnote. +
    +short-sc-footnote
    Like footnote but redefines \glsabbrvfont to use short-footnote but redefines \glsabbrvfont to use + \glsxtrscfont. + id="dx1-18116">. (This style was originally called footnote-sc. Renamed in + version 1.04, but original name retained as a deprecated synonym for + backward-compatibility.)
    footnote-sm
    short-sc-footnote
    Like footnote but redefines \glsabbrvfont to use short-footnote but redefines \glsabbrvfont to use + \glsxtrsmfont. + id="dx1-18120">. (This style was originally called footnote-sm. Renamed in + version 1.04, but original name retained as a deprecated synonym for + backward-compatibility.)
    footnote-em
    short-em-footnote
    Like footnote but redefines \glsabbrvfont to use \emph. +class="ecss-1000">short-footnote but redefines \glsabbrvfont to use + \glsxtremfont. (This style was originally called footnote-em. Renamed in + version 1.04, but original name retained as a deprecated synonym for + backward-compatibility.)
    -postfootnote
    This is similar to the footnote style but doesn’t modify the +short-postfootnote
    This is similar to the short-footnote style but doesn’t modify the category attribute. Instead it changes \glsxtrpostlinkcategory 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  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 form. The is set to the short + form. The description is set to the long form. Note that this style - will change 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 footnote would appear after the inline form.) - - - + id="dx1-18134">first use. (Otherwise the + footnote would appear after the inline form.)

    postfootnote-sc
    Like postfootnote but redefines \glsabbrvfont to use +class="ecsx-1000">postfootnote
    A synonym for short-postfootnote. +
    +short-sc-postfootnote
    Like short-postfootnote but redefines \glsabbrvfont to use \glsxtrscfont. + id="dx1-18139">. (This style was originally called postfootnote-sc. Renamed in + version 1.04, but original name retained as a deprecated synonym for + backward-compatibility.)
    postfootnote-sm
    Like postfootnote but redefines \glsabbrvfont to use +class="ecsx-1000">short-sm-postfootnote
    Like short-postfootnote but redefines \glsabbrvfont to use \glsxtrsmfont. + id="dx1-18143">. (This style was originally called postfootnote-sm. Renamed in + version 1.04, but original name retained as a deprecated synonym for + backward-compatibility.) + + +
    postfootnote-em
    short-em-postfootnote
    Like postfootnote but redefines \glsabbrvfont to use \emph. +class="ecss-1000">short-postfootnote but redefines \glsabbrvfont to use + \glsxtremfont. (This style was originally called postfootnote-em. Renamed in + version 1.04, but original name retained as a deprecated synonym for + backward-compatibility.)
    -

    +

    -

    Top

    2.5 Defining New Abbreviation Styles

    -

    New abbreviation styles may be defined using: -


    New abbreviation styles may be defined using: +


    \newabbreviationstyle  }{fmts}

    -

    +

    where ⟨name⟩ is the name of the new style (as used in the mandatory argument of glossaries\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\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), @@ -4268,12 +5187,12 @@ class="ecss-1000">pluraldescription. -

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

    -

    For example, the

    +

    For example, the long-short style has the following in ⟨setup⟩: @@ -4281,7 +5200,7 @@ class="ecti-1000">setup⟩:

    -
    +
      \renewcommand*{\CustomAbbreviationFields}{%  
        name={\protect\glsabbrvfont{\the\glsshorttok}},  
        sort={\the\glsshorttok}, @@ -4294,32 +5213,32 @@ class="ecti-1000">setup⟩:  
        plural={\protect\glsabbvfont{\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 ⟨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 footnote

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

    -
    +
      \renewcommand*{\GlsXtrPostNewAbbreviation}{%  
        \glssetattribute{\the\glslabeltok}{nohyperfirst}{true}%  
        \glshasattribute{\the\glslabeltok}{regular}% @@ -4329,7 +5248,7 @@ class="ecti-1000">setup⟩:  
        {}%  
      }%
    -

    This sets the

    This sets the nohyperfirst attribute to “true”. It also unsets the regularnohyperfirst 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 \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 \newabbreviation.) -

    There are two other registers available that are defined by

    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 footnote-scshort-sc-footnote and footnote-smshort-sm-footnote styles both simply use

    -
    -\GlsXtrUseAbbrStyleSetup{footnote} +
    +\GlsXtrUseAbbrStyleSetup{short-footnote}
    -

    within ⟨

    within ⟨setup⟩. -

    The ⟨

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

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

    The default suffix for the plural short form (if not overridden by the shortplural key): -



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

    +

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



    \glsfirstlongfont  \glsfirstlongfont{text}

    -

    -

    Display full form singular no case-change (used by

    +

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


    \glslongfont  \glslongfont{text}

    +

    +

    Display full form singular no case-change (used by \gls on first use for + id="dx1-19052"> on first use for abbreviations without the regular attribute set): -


    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-19056"> on first use for abbreviations without the first use for abbreviations without the regular attribute set): -


    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 + id="dx1-19060"> on first use for abbreviations without the regular attribute set): -


    attribute set): +


    \glsxtrfullplformat  \glsxtrfullplformat{label}{insert}

    -

    -

    Display full form plural first letter converted to upper case (used by \Glspl on -first use for abbreviations without the regular attribute set): -


    +

    Display full form plural first letter converted to upper case (used by \Glspl on +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-19069"> 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-19072"> 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-19076"> 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-19079"> and \Glsxtrfullpl): -


    ): +


    \Glsxtrinlinefullplformat  \Glsxtrinlinefullplformat{label}{insert}

    -

    -

    If you want to provide support for

    +

    If you want to provide support for glossaries-accsupp use the following + id="dx1-19082"> 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

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

    -
    +
      \renewcommand*{\abbrvpluralsuffix}{\glspluralsuffix}%  
      \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}})% @@ -4688,55 +5619,55 @@ class="ecti-1000">fmts⟩:  
        (\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 ⟨ style has the following in ⟨fmts⟩:

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

    and the

    and the short-sm-long style has: + id="dx1-19087"> style has:

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

    -

    The simplest examples of creating a new style based on an existing style are the +

    +

    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: + id="dx1-19088"> style, which is defined as:

    - -

    +

    Top

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

    -

    The

    The glossaries user manual cautions against using commands like \gls in chapter @@ -4791,9 +5722,9 @@ class="ecss-1000">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, like -

    +
    \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 @@ -4858,12 +5789,12 @@ class="ectt-1000">\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 @@ -4875,17 +5806,17 @@ example:

    -
    +
    \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 noindexheaduc attribute to “true” for the appropriate category. -

    If you use one of the

    If you use one of the \textsc styles, be aware that the default fonts don’t provide bold small-caps or italic small-caps. This means that if the chapter @@ -4923,37 +5854,37 @@ class="ectt-1000">\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

    4. Categories

    -

    Each entry defined by

    Each entry defined by \newglossaryentry (or commands that internally use \newglossaryentry 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. -

    The default category assumed by

    The default category assumed by \newglossaryentry is labelled general. @@ -5162,7 +6093,7 @@ class="ectt-1000">\newacronym have the category set to acronym by default. -

    Additionally, if you have enabled

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

    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\glsentryfmt to determine whether to use \glsgenentryfmt or \glsxtrgenabbrvfmt. -

    Other attributes recognised by

    Other attributes recognised by glossaries-extra are:

    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 + full stop. For example: + + + +

    +
    + \newabbreviation +  
     [user1={German Speaking \TeX\ User Group}] +  
     {dante}{DANTE e.V.}{Deutschsprachige Anwendervereinigung \TeX\ +  
    e.V.} +
    +

    Here the short and long fields end with a full stop, but the user1 field doesn’t. + The simplest solution in this situation is to put the sentence terminator in the + final optional argument. For example: + + + +

    +
    + \glsuseri{dante}[.] +
    +

    This will bring the punctuation character inside the link-text and it won’t be + discarded. +

    pluraldiscardperiod
    If this attribute is set to “true” and the
    If this attribute is set to “true” and the discardperiod - attribute is set to “true”, this will behave as above for the plural commands - like \glspl or 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 or pluraldiscardperiod - are set. This is useful for ⟨ are + set. This is useful for ⟨short⟩ (⟨long⟩) abbreviation styles where only the - short form has a trailing full stop.. +class="ecti-1000">long⟩) abbreviation styles where only the short form + has a trailing full stop..
    insertdots
    If this attribute is set to “true” any entry defined using -
    If this attribute is set to “true” any entry defined using \newabbreviation will automatically have full stops (periods) inserted - after each letter. The entry will be defined with those dots present as - though they had been present in the ⟨ + 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. +

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

    -

    This attribute is best used with the

    +

    This attribute is best used with the discardperiod attribute set to “true”. + id="dx1-21045"> attribute set to “true”.

    aposplural
    If this attribute is set to “true”, \newabbreviation will insert an - - - + id="dx1-21047"> will insert an apostrophe (’) before the plural suffix for the short plural form (unless explicitly overridden with the shortplural key). The long plural form is + id="dx1-21048"> key). The long plural form is unaffected by this setting.
    noshortplural
    If this attribute is set to “true”, \newabbreviation won’t append the + id="dx1-21050"> won’t append the plural suffix for the short plural form. This means the short and and shortplural + id="dx1-21052"> values will be the same unless explicitly overridden. The aposplural attribute trumps the noshortplural attribute. + + +
    headuc
    If this attribute is set to “true”, commands like \glsfmtshort will use the + id="dx1-21056"> 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-21059"> in the glossary (see §2.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-21061"> (see §1.3.3 Entry Counting Modifications). Leave blank or undefined for categories that shouldn’t have this facility enabled. The value of this attribute is used by \glsxtrifcounttrigger to determine how commands such as to determine how commands such as \cgls + id="dx1-21063"> should behave. -

    With

    With glossaries, commands like , 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 + id="dx1-21065"> 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 + id="dx1-21067"> command (used in the predefined glossary styles) is modified by glossaries-extra to check for this attribute. If the attribute is set to “firstuc”, the first letter of the description will be converted to upper case (using \Glsentrydesc). If the attribute is set + id="dx1-21068">). If the attribute is set to “title”, the title casing command \capitalisewords (provided by + id="dx1-21069"> (provided by mfirstuc) is used on the name. Any other values of this attribute are + id="dx1-21070">) is used on the name. Any other values of this attribute are ignored.
    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 + 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 but applies to \glossentryname. Additionally, if this + id="dx1-21075">. 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-21077"> will index the entry using \index. See . See §6 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 + 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: - details. -
    +
    + \glssetcategoryattribute{general}{glossnamefont}{emph} +
    +

    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, + 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-21083">, a corresponding line will be written to the indexing file using \index. See . See §6 Auto-Indexing for further details.
    -

    An attribute can be set using: -


    An attribute can be set using: +


    \glssetcategoryattribute  \glssetcategoryattribute{category-label}{}{value}

    -

    +

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

    There is a shortcut version to set the

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


    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}{}{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}{attribute-label}

    -

    +

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



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

    -

    -

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


    +

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


    \glshascategoryattribute  \glshascategoryattribute{category-label}{code}{false code}

    -

    +

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



    \glshasattribute  \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}{true-part}{false-part}

    -

    +

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

    For example: +

    For example:

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

    This does “NO HYPER” if the

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

    With boolean-style attributes like

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

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

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



    \glsifattribute  \glsifattribute{entry-label}{} class="ectt-1000">{false-part}

    -

    -

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

    +

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


    +attribute set to “true”: +


    \glsifregularcategory  \glsifregularcategory{category-label}{}{false-part}

    -

    +

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



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

    -

    -

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


    +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 +“false”: +


    \glsifnotregularcategory  \glsifnotregularcategory{category-label}{true-part}{false-part} +

    +

    +or for a particular entry: +


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

    +

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

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


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

    -

    +

    This iterates through all entries in the glossaries identified by the comma-separated list ⟨glossary-labels⟩ that have the category given by ⟨label-cs⟩ (which much be control sequences) to access the current glossary and entry label. If ⟨glossary-labels⟩ is omitted, all glossaries are assumed. -

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

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



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

    -

    +

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

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

    You can change the category for a particular entry using the standard glossary field changing commands, such as \glsfielddef. Alternatively, you can + id="dx1-21108">. 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-21110"> 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}{category-label}

    -

    +

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

    -

    -

    +

    Top

    5. Entry Counting

    -

    As mentioned in

    As mentioned in §1.3.3 Entry Counting Modifications, glossaries-extra @@ -5849,7 +6891,7 @@ class="ectt-1000">\glsenableentrycount§4 Categories). -

    You may now use

    You may now use \cgls instead of \gls\ac which uses \gls. -

    All upper case versions (not provided by

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



    \cGLS  label}[insert]

    -

    +

    and -



    \cGLSpl  label}[insert]

    -

    +

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



    \cGLSformat  label}{insert}

    -

    +

    and -



    \cGLSplformat  label}{insert}

    -

    +

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

    [TODO: work out what to do about other commands such as

    [TODO: work out what to do about other commands such as \glsdisp and \glstext.] -

    Just using

    Just using glossaries:

    -
    +
    \documentclass{article}  
    \usepackage{glossaries}  
    \makeglossaries @@ -5955,8 +6997,8 @@ class="ecss-1000">glossaries\printglossaries  
    \end{document}
    -

    -

    If you switch to

    +

    If you switch to glossaries-extra you must set the entrycount attribute: @@ -5964,7 +7006,7 @@ class="ecss-1000">entrycount -

    + -

    -

    When activated with

    +

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



    \glsxtrifcounttrigger  normal code}

    -

    +

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

    The default definition is: +

    The default definition is:

    -
    +
    \newcommand*{\glsxtrifcounttrigger}[3]{%  
     \glshasattribute{#1}{entrycount}%  
     {% @@ -6031,24 +7073,24 @@ class="ecti-1000">normal code⟩).  
     {#3}%  
    }
    -

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

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

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

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

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

    -

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

    +

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



    \GlsXtrEnableEntryCounting  }{value}

    -

    +

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

    -
    +
    \renewcommand*{\gls}{\cgls}%  
    \renewcommand*{\Gls}{\cGls}%  
    \renewcommand*{\glspl}{\cglspl}% @@ -6085,18 +7127,18 @@ class="ecti-1000">value⟩. In addition, this does:  
    \renewcommand*{\GLS}{\cGLS}%  
    \renewcommand*{\GLSpl}{\cGLSpl}%
    -

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

    If you use

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

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

    The above example document can then become: +

    The above example document can then become:

    -
    +
    \documentclass{article}  
    \usepackage{glossaries-extra}  
    \makeglossaries @@ -6109,12 +7151,12 @@ class="ecss-1000">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  }{counter-name}

    -

    +

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

    Due to the asynchronous nature of T

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

    -

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

    +

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

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

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

    The per-unit counting function uses two attributes:

    The per-unit counting function uses two attributes: entrycount (as before) and unitcount

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

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



    \glsentrycurrcount  \glsentrycurrcount{label}

    -

    +

    and the final value from the previous run: -



    \glsentryprevcount  \glsentryprevcount{label}

    -

    +

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

    The per-unit counting mechanism additionally provides: -


    The per-unit counting mechanism additionally provides: +


    \glsentryprevtotalcount  \glsentryprevtotalcount{label}

    -

    +

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



    \glsentryprevmaxcount  \glsentryprevmaxcount{label}

    -

    +

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

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

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

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

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

    -
    +
    \documentclass{report}  
    \usepackage{glossaries-extra}  
    \GlsXtrEnableEntryUnitCounting{abbreviation}{2}{chapter} @@ -6235,7 +7277,7 @@ which gives the maximum per-unit total from the previous run.  
    \printglossaries  
    \end{document}
    -

    In this document, the

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

    The

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

    The

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

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

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



    \glslinkcheckfirsthyperhook  \glslinkcheckfirsthyperhook

    -

    +

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

    -
    +
    \documentclass{article}  
    \usepackage[colorlinks]{hyperref}  
    \usepackage{glossaries-extra} @@ -6303,10 +7345,10 @@ hyperlink.  
    \printglossaries  
    \end{document}
    -

    This only produces a hyperlink for the first instance of

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

    The earlier warning about using the

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

    -

    +

    Top

    6. 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: indexnameindexnamedualindex. -

    The

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

    The internal macro used by the

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

    In both cases, the indexing is done through -


    In both cases, the indexing is done through +


    \glsxtrdoautoindexname  }{attribute-label}

    -

    +

    This uses the standard \index command with the sort value taken from the entry’s @@ -6380,26 +7422,26 @@ 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 dualindexformat key to override the attribute value by using the preamble-only command: -



    \GlsXtrEnableIndexFormatOverride  \GlsXtrEnableIndexFormatOverride

    -

    +

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

    The

    The dualindex attribute will still be used on subsequent use even if the dualindexnoindex key.
    -

    -

    The

    +

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

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

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

    Be very careful of possible shifting category codes!
    -

    -


    Be very careful of possible shifting category codes!
    +

    +


    \GlsXtrSetActualChar  \GlsXtrSetActualChar{char}

    -

    +

    Set the actual character to ⟨char⟩. -



    \GlsXtrSetLevelChar  \GlsXtrSetLevelChar{char}

    -

    +

    Set the level character to ⟨char⟩. -



    \GlsXtrSetEscChar  \GlsXtrSetEscChar{char}

    -

    +

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



    \GlsXtrSetEncapChar  }

    -

    +

    Set the encap character to ⟨char⟩.

    -

    -

    +

    Top

    7. On-the-Fly Document Definitions

    -

    The commands described here may superficially look like ⟨

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

    -

    The

    +

    The glossaries package advises against defining entries in the documentglossaries-extra but can be enabled using the docdefs package options. -

    Although this can be problematic, the

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



    \GlsXtrEnableOnTheFly  \GlsXtrEnableOnTheFly

    -

    +

    When used, this defines the commands described below. -

    The commands

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

    -


    +


    \glsxtr  dfn-options]{label}

    -

    +

    If an entry with the label ⟨label⟩ has already been defined, this just does 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 @@ -6723,20 +7765,20 @@ without switching to X\GlsXtrEnableOnTheFly that allows you to use UTF-8 characters in ⟨label⟩, but it’s experimental and may not work in some cases. -

    If you use the starred version of

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

    +

    -

    -

    +

    Top

    8. Supplemental Packages

    -

    The

    The glossaries bundle provides additional support packages glossaries-prefixglossaries-accsupp (for accessibility support). These packages aren’t automatically loaded.

    -

    Top

    8.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 @@ -6758,7 +7800,7 @@ example:

    -
    +
    \documentclass{article}  
    \usepackage{glossaries-extra}  
    \usepackage{glossaries-prefix} @@ -6773,13 +7815,13 @@ example:  
    \printglossaries  
    \end{document}
    -

    -

    +

    +

    -

    Top

    8.2 Accessibility Support

    -

    The

    The glossaries-accsupp needs to be loaded before glossaries-extra or through the @@ -6790,10 +7832,10 @@ class="ecss-1000">accsupp -

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

    If you don’t load

    If you don’t load glossaries-accsupp or you load glossaries-accsuppxxx⟩ commands described below will simply be equ 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  
      {% @@ -6849,20 +7891,20 @@ class="ecss-1000">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: @@ -6870,17 +7912,17 @@ class="ecss-1000">glossaries-accsupp -

    +
    \newcommand*{\Glsaccessname}[1]{\Glsentryname{#1}}
    -

    With the

    With the glossaries-accsupp package this is defined as:

    -
    +
    \newcommand*{\Glsaccessname}[1]{%  
      \glsnameaccessdisplay  
      {% @@ -6889,112 +7931,112 @@ class="ecss-1000">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 @@ -7177,11 +8219,11 @@ case.

    -

    -

    +

    Top

    9. Sample Files

    -

    The following sample files are provided with this package: +

    The following sample files are provided with this package:

    sample.tex
    General entries, acronyms and initialisms all treated differently.
    sample-name-font
    Categories and attributes are used to customize the way + different entries appear. +
    +sample-abbrv.tex
    General abbreviations.
    @@ -7240,13 +8287,13 @@ class="description">Different abbreviation styles for different sample-initialisms.tex
    Automatically insert dots into initialisms. + + +
    sample-postdot.tex
    Another initialisms example. - - -
    sample-postlink.tex
    sample-unitentrycount.tex
    Enable use of per-unit entry-use counting.
    sample-pages.tex
    Insert “page” or “pages” before the location list. +
    +sample-onelink.tex
    Using the per-unit entry counting to only have one hyperlink per entry per page. @@ -7324,6 +8375,9 @@ class="ecss-1000">namename key explicitly set with the commands removed from the label. + + +
    sample-onthefly-utf8.tex
    \GlsXtrEnableOnTheFlyname key explicitly set with the commands removed from the label. - - -
    sample-accsupp.tex
    glossaries-prefix

    -

    +

    Top

    10. Multi-Lingual Support

    -

    There’s only one command provided by

    There’s only one command provided by glossaries-extra that you’re likely to want to change in your document and that’s \abbreviationsname\acronymname (provided by glossaries). -

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

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

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

    Or using

    Or using babel or polyglossiapolyglossia -

    +
    \appto\captionsenglish{%  
     \renewcommand*{\abbreviationsname}{List of Abbreviations}%  
    }
    -

    -

    Alternatively you can use the

    +

    Alternatively you can use the title key when you print the list of abbreviations. For example: @@ -7411,24 +8462,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}% @@ -7469,8 +8520,8 @@ class="ectt-1000">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="ecss-1000">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 @@ -7588,17 +8639,17 @@ class="ectt-1000">\printglossaries) class="ectt-1000">\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 @@ -7775,1714 +8826,1989 @@ class="description">An flexible indexing application with multilingual support w

    Index

    A -
    abbreviation styles:
    -    footnote  1, 2, 3, 4, 5, 6, 7
    +
    abbreviation styles (deprecated):
        footnote-em  8
    +href="glossaries-extra-manual.html#dx1-18125" >1
        footnote-sc  9, 10
    +href="glossaries-extra-manual.html#dx1-18117" >2
        footnote-sm  11, 12
    -    long  13, 14, 15, 16, 17
    -    long-desc  18, 19, 20, 21, 22, 23
    +href="glossaries-extra-manual.html#dx1-18121" >3
        long-desc-em  24
    +href="glossaries-extra-manual.html#dx1-17067" >4
        long-desc-sc  25
    +href="glossaries-extra-manual.html#dx1-17059" >5
        long-desc-sm  26
    +href="glossaries-extra-manual.html#dx1-17063" >6
        long-em  27
    +href="glossaries-extra-manual.html#dx1-17092" >7
        long-sc  28
    +href="glossaries-extra-manual.html#dx1-17084" >8
    +    long-sm  9
    +    postfootnote-em  10
    +    postfootnote-sc  11
    +    postfootnote-sm  12
    +abbreviation styles:
    +    footnote  13
    +    long  14
    +    long-desc  15
    +    long-em-noshort-em  16
    +    long-em-noshort-em-desc  17
    +    long-em-short-em  18, 19
    +    long-em-short-em-desc  20
    +    long-noshort  21, 22, 23, 24, 25, 26, 27
    +    long-noshort-desc  28, 29, 30, 31, 32, 33, 34, 35
    +    long-noshort-em  36
    +    long-noshort-em-desc  37
    +    long-noshort-sc  38, 39
    +    long-noshort-sc-desc  40
    +    long-noshort-sm  41
    +    long-noshort-sm-desc  42
        long-short  29, 30, 31, 32, 33, 34, 35, 36, 37
    +href="glossaries-extra-manual.html#dx1-9049" >43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53
        long-short-desc  38, 39, 40, 41
    +href="glossaries-extra-manual.html#dx1-18034" >54, 55, 56, 57, 58, 59, 60
        long-short-em  42
    +href="glossaries-extra-manual.html#dx1-16045" >61, 62, 63
        long-short-em-desc  43
    +href="glossaries-extra-manual.html#dx1-18046" >64, 65
        long-short-sc  44, 45
    +href="glossaries-extra-manual.html#dx1-12030" >66, 67, 68
        long-short-sc-desc  46
    +href="glossaries-extra-manual.html#dx1-18040" >69
    + + +     long-short-sm  47
    +href="glossaries-extra-manual.html#dx1-18012" >70
        long-short-sm-desc  48
    -    long-sm  49
    -    postfootnote  50, 51, 52, 53, 54, 55
    +href="glossaries-extra-manual.html#dx1-18043" >71
        postfootnote-em  56
    +class="ecss-1000">long-short-user  72, 73, 74, 75, 76, 77, 78, 79
        postfootnote-sc  57
    +class="ecss-1000">long-short-user-desc  80
        postfootnote-sm  58
    +class="ecss-1000">postfootnote  81
        short  59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69
    +href="glossaries-extra-manual.html#dx1-17007" >82
        short-desc  70, 71, 72
    +href="glossaries-extra-manual.html#dx1-17030" >83
        short-em  73
    +href="glossaries-extra-manual.html#dx1-17022" >84
        short-em-desc  74
    +href="glossaries-extra-manual.html#dx1-17045" >85
    +    short-em-footnote  86, 87
    +    short-em-footnote-desc  88
        short-em-long  75, 76
    +href="glossaries-extra-manual.html#dx1-18073" >89, 90, 91
        short-em-long-desc  77
    +href="glossaries-extra-manual.html#dx1-18092" >92, 93
    +    short-em-long-em  94
    +    short-em-long-em-desc  95
    +    short-em-nolong  96, 97
    +    short-em-nolong-desc  98, 99
    +    short-em-postfootnote  100
    +    short-footnote  101, 102, 103, 104, 105, 106, 107, 108, 109
        short-long  78, 79, 80, 81, 82, 83, 84
    +href="glossaries-extra-manual.html#dx1-12021" >110, 111, 112, 113, 114, 115, 116, 117
        short-long-desc  85, 86, 87, 88
    +href="glossaries-extra-manual.html#dx1-16054" >118, 119, 120, 121, 122, 123, 124
    +    short-long-user  125, 126, 127, 128, 129, 130
    +    short-long-user-desc  131
    +    short-nolong  132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143
    +    short-nolong-desc  144, 145, 146, 147
    +    short-postfootnote  148, 149, 150, 151, 152, 153, 154
        short-sc  89
    +href="glossaries-extra-manual.html#dx1-17012" >155
        short-sc-desc  90
    - - - +class="ecss-1000">short-sc-desc  156
    +    short-sc-footnote  157, 158, 159
        short-sc-long  91, 92
    +href="glossaries-extra-manual.html#dx1-18067" >160, 161
        short-sc-long-desc  93
    +href="glossaries-extra-manual.html#dx1-18086" >162
    +    short-sc-nolong  163, 164
    +    short-sc-nolong-desc  165, 166
    +    short-sc-postfootnote  167, 168
        short-sm  94
    +href="glossaries-extra-manual.html#dx1-17017" >169
        short-sm-desc  95
    +href="glossaries-extra-manual.html#dx1-17040" >170
    +    short-sm-footnote  171
        short-sm-long  96, 97
    +href="glossaries-extra-manual.html#dx1-18070" >172, 173
        short-sm-long-desc  98
    +href="glossaries-extra-manual.html#dx1-18089" >174
    +    short-sm-nolong  175, 176
    +    short-sm-nolong-desc  177, 178
    +    short-sm-postfootnote  179
    \abbreviationsname  99
    +class="ecti-1000">180
    \abbrvpluralsuffix  100
    +class="ecti-1000">181
    acronym styles (glossaries):
        long-sp-short  101
    +href="glossaries-extra-manual.html#dx1-10006" >182
    + + + amsgen package  102
    +href="glossaries-extra-manual.html#dx1-15" >183

    B babel package  103, 104, 105, 106, 107, 108, 109, 110
    +href="glossaries-extra-manual.html#dx1-3012" >184, 185, 186, 187, 188, 189, 190, 191

    C categories:
        abbreviation  111, 112, 113, 114
    +href="glossaries-extra-manual.html#dx1-8003" >192, 193, 194, 195
        acronym  115, 116, 117, 118, 119
    +href="glossaries-extra-manual.html#dx1-7031" >196, 197, 198, 199, 200, 201
        general  120, 121, 122, 123, 124, 125, 126, 127
    +href="glossaries-extra-manual.html#dx1-7039" >202, 203, 204, 205, 206, 207, 208, 209
        index  128, 129
    +href="glossaries-extra-manual.html#dx1-5007" >210, 211
        number  130
    +href="glossaries-extra-manual.html#dx1-21014" >212
        symbol  131, 132
    +href="glossaries-extra-manual.html#dx1-7046" >213, 214
    category attributes:
        aposplural  133, 134, 135
    +href="glossaries-extra-manual.html#dx1-16031" >215, 216, 217
        discardperiod  136, 137, 138, 139, 140
    +href="glossaries-extra-manual.html#dx1-7035" >218, 219, 220, 221, 222
        dualindex  141, 142, 143, 144, 145, 146, 147
    +href="glossaries-extra-manual.html#dx1-21081" >223, 224, 225, 226, 227, 228, 229
        entrycount  148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158
    +href="glossaries-extra-manual.html#dx1-8002" >230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240
        glossdesc  159, 160, 161
    +href="glossaries-extra-manual.html#dx1-11005" >241, 242, 243
    +    glossdescfont  244, 245
        glossname  162, 163
    +href="glossaries-extra-manual.html#dx1-11004" >246, 247
    +    glossnamefont  248
        headuc  164, 165, 166
    +href="glossaries-extra-manual.html#dx1-20020" >249, 250, 251
        indexname  167, 168, 169, 170, 171
    +href="glossaries-extra-manual.html#dx1-11010" >252, 253, 254, 255, 256
        indexonlyfirst  172, 173, 174
    +href="glossaries-extra-manual.html#dx1-6006" >257, 258, 259
        insertdots  175, 176
    +href="glossaries-extra-manual.html#dx1-12005" >260, 261
        nohyper  177, 178, 179
    +href="glossaries-extra-manual.html#dx1-21025" >262, 263, 264
        nohyperfirst  180, 181, 182, 183
    +href="glossaries-extra-manual.html#dx1-18107" >265, 266, 267, 268
        noshortplural  184, 185, 186, 187
    +href="glossaries-extra-manual.html#dx1-12006" >269, 270, 271, 272
        pluraldiscardperiod  188, 189
    +href="glossaries-extra-manual.html#dx1-21036" >273, 274
        regular  190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205
    +href="glossaries-extra-manual.html#dx1-7011" >275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294
        retainfirstuseperiod  206
    +href="glossaries-extra-manual.html#dx1-21038" >295
        tagging  207, 208, 209, 210
    +href="glossaries-extra-manual.html#dx1-13002" >296, 297, 298, 299
        unitcount  211
    +href="glossaries-extra-manual.html#dx1-22032" >300
    \cGLS  212
    +class="ecti-1000">301
    \cGLSformat  213
    - - - +class="ecti-1000">302
    \cGLSpl  214
    +class="ecti-1000">303
    \cGLSplformat  215
    +class="ecti-1000">304
    \CustomAbbreviationFields  216
    +class="ecti-1000">305

    D datatool-base package  217
    +href="glossaries-extra-manual.html#dx1-14" >306

    E + + + entry location  218, 219, 220
    +class="ecbx-1000">307, 308, 309
    etoolbox package  221, 222
    +href="glossaries-extra-manual.html#dx1-10" >310, 311

    F first use  223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 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, 272, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 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, 355, 356, 357, 358, 359, 360, 273, 274, 275
    +class="ecbx-1000">361, 362, 363
    first use flag  276, 277, 278, 364, 365, 366, 279
    +class="ecbx-1000">367
    first use text  280, 281
    +class="ecbx-1000">368, 369
    fontenc package  282
    +href="glossaries-extra-manual.html#dx1-16024" >370

    G glossaries package  283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 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, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349
    +href="glossaries-extra-manual.html#dx1-2" >371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438
    glossaries-accsupp package  350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364
    +href="glossaries-extra-manual.html#dx1-4009" >439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453
    glossaries-extra package  365
    +href="glossaries-extra-manual.html#dx1-11021" >454
    glossaries-extra-stylemods package  366, 367, 368
    +href="glossaries-extra-manual.html#dx1-4018" >455, 456, 457
    glossaries-prefix package  369, 370, 371
    +href="glossaries-extra-manual.html#dx1-25002" >458, 459, 460
    \glossariesextrasetup  372
    +class="ecti-1000">461
    glossary styles:
        inline  373, 374
    +href="glossaries-extra-manual.html#dx1-11026" >462, 463
        long3col  375
    +href="glossaries-extra-manual.html#dx1-11024" >464
    glossary-inline package  376
    +href="glossaries-extra-manual.html#dx1-11027" >465
    \glsabbrvdefaultfont  377
    +class="ecti-1000">466
    +\glsabbrvemfont  467
    \glsabbrvfont  378, 468, 379
    +class="ecti-1000">469
    +\glsabbrvuserfont  470
    \Glsaccessdesc  380
    +class="ecti-1000">471
    \glsaccessdesc  381
    +class="ecti-1000">472
    \Glsaccessdescplural  382
    +class="ecti-1000">473
    \glsaccessdescplural  383
    +class="ecti-1000">474
    \Glsaccessfirst  384
    +class="ecti-1000">475
    \glsaccessfirst  385
    +class="ecti-1000">476
    \Glsaccessfirstplural  386
    +class="ecti-1000">477
    \glsaccessfirstplural  387
    +class="ecti-1000">478
    \Glsaccesslong  388
    +class="ecti-1000">479
    \glsaccesslong  389
    +class="ecti-1000">480
    \Glsaccesslongpl  390
    +class="ecti-1000">481
    \glsaccesslongpl  391
    - - - +class="ecti-1000">482
    \Glsaccessname  392
    +class="ecti-1000">483
    \glsaccessname  393
    +class="ecti-1000">484
    \Glsaccessplural  394
    +class="ecti-1000">485
    \glsaccessplural  395
    +class="ecti-1000">486
    \Glsaccessshort  396
    +class="ecti-1000">487
    \glsaccessshort  397
    +class="ecti-1000">488
    + + + \Glsaccessshortpl  398
    +class="ecti-1000">489
    \glsaccessshortpl  399
    +class="ecti-1000">490
    \Glsaccesssymbol  400
    +class="ecti-1000">491
    \glsaccesssymbol  401
    +class="ecti-1000">492
    \Glsaccesssymbolplural  402
    +class="ecti-1000">493
    \glsaccesssymbolplural  403
    +class="ecti-1000">494
    \Glsaccesstext  404
    +class="ecti-1000">495
    \glsaccesstext  405
    +class="ecti-1000">496
    \glsacspace  406
    +class="ecti-1000">497
    \glsacspacemax  407
    +class="ecti-1000">498
    \glscategory  408
    +class="ecti-1000">499
    \glscategorylabel  409
    +class="ecti-1000">500
    \glscurrententrylabel  410
    +href="glossaries-extra-manual.html#dx1-11017" >501
    \glsentrycurrcount  411
    +class="ecti-1000">502
    \glsentryprevcount  412
    +class="ecti-1000">503
    \glsentryprevmaxcount  413
    +class="ecti-1000">504
    \glsentryprevtotalcount  414
    +class="ecti-1000">505
    \glsfirstabbrvdefaultfont  415
    +class="ecti-1000">506
    +\glsfirstabbrvemfont  507
    \glsfirstabbrvfont  416, 508, 417
    +class="ecti-1000">509
    \glsfirstlongdefaultfont  418
    +href="glossaries-extra-manual.html#dx1-12038" >510
    +\glsfirstlongemfont  511
    \glsfirstlongfont  419, 512, 420
    +class="ecti-1000">513
    \Glsfmtfirst  421
    +class="ecti-1000">514
    \glsfmtfirst  422
    +class="ecti-1000">515
    \Glsfmtfirstpl  423
    +class="ecti-1000">516
    \glsfmtfirstpl  424
    +class="ecti-1000">517
    \Glsfmtfull  425
    +class="ecti-1000">518
    \glsfmtfull  426
    +class="ecti-1000">519
    \Glsfmtfullpl  427
    +class="ecti-1000">520
    \glsfmtfullpl  428
    +class="ecti-1000">521
    \Glsfmtlong  429
    +class="ecti-1000">522
    \glsfmtlong  430
    +class="ecti-1000">523
    \Glsfmtlongpl  431
    +class="ecti-1000">524
    \glsfmtlongpl  432
    +class="ecti-1000">525
    \Glsfmtplural  433
    +class="ecti-1000">526
    \glsfmtplural  434
    +class="ecti-1000">527
    \Glsfmtshort  435
    +class="ecti-1000">528
    \glsfmtshort  436
    +class="ecti-1000">529
    \Glsfmtshortpl  437
    +class="ecti-1000">530
    \glsfmtshortpl  438
    +class="ecti-1000">531
    \Glsfmttext  439
    - - - +class="ecti-1000">532
    \glsfmttext  440
    +class="ecti-1000">533
    \glsforeachwithattribute  441
    +href="glossaries-extra-manual.html#dx1-21107" >534
    \glsgetattribute  442
    +href="glossaries-extra-manual.html#dx1-21090" >535
    \glsgetcategoryattribute  443
    +href="glossaries-extra-manual.html#dx1-21089" >536
    + + + \glshasattribute  444
    +href="glossaries-extra-manual.html#dx1-21093" >537
    \glshascategoryattribute  445
    +href="glossaries-extra-manual.html#dx1-21091" >538
    \glsifattribute  446
    +href="glossaries-extra-manual.html#dx1-21098" >539
    \glsifcategory  447
    +class="ecti-1000">540
    \glsifcategoryattribute  448
    +href="glossaries-extra-manual.html#dx1-21094" >541
    +\glsifnotregular  542
    +\glsifnotregularcategory  543
    \glsifregular  449
    +href="glossaries-extra-manual.html#dx1-21101" >544
    \glsifregularcategory  450
    +href="glossaries-extra-manual.html#dx1-21100" >545
    \glskeylisttok  451
    +class="ecti-1000">546
    \glslabeltok  452
    +class="ecti-1000">547
    \glslink options
        format  453, 454
    +href="glossaries-extra-manual.html#dx1-23013" >548, 549
        hyper  455, 456
    +href="glossaries-extra-manual.html#dx1-21024" >550, 551
        noindex  457, 458, 459, 460
    +href="glossaries-extra-manual.html#dx1-6001" >552, 553, 554, 555
    \glslinkcheckfirsthyperhook  461
    +class="ecti-1000">556
    +\glslongdefaultfont  557
    +\glslongemfont  558
    +\glslongfont  559, 560
    \glslongpltok  462
    +class="ecti-1000">561
    \glslongtok  463
    +class="ecti-1000">562
    \glssetattribute  464
    +href="glossaries-extra-manual.html#dx1-21088" >563
    \glssetcategoryattribute  465
    +href="glossaries-extra-manual.html#dx1-21085" >564
    \glssetregularcategory  466
    +href="glossaries-extra-manual.html#dx1-21087" >565
    \glsshortpltok  467
    +class="ecti-1000">566
    \glsshorttok  468
    +class="ecti-1000">567
    \Glsxtr  469
    +class="ecti-1000">568
    \glsxtr  470
    +class="ecti-1000">569
    \glsxtraddallcrossrefs  471
    +class="ecti-1000">570
    \glsxtrdoautoindexname  472
    +class="ecti-1000">571
    \glsxtrdowrglossaryhook  473
    +class="ecti-1000">572
    \GlsXtrEnableEntryCounting  474
    +class="ecti-1000">573
    \GlsXtrEnableEntryUnitCounting  475
    +class="ecti-1000">574
    \GlsXtrEnableIndexFormatOverride  476
    +class="ecti-1000">575
    \GlsXtrEnableInitialTagging  477
    +class="ecti-1000">576
    \GlsXtrEnableOnTheFly  478
    +class="ecti-1000">577
    +\GlsXtrEnablePreLocationTag  578
    +\glsxtrfirstscfont  579
    +\glsxtrfirstsmfont  580
    +\GlsXtrFormatLocationList  581
    \GLSxtrfull  479
    +class="ecti-1000">582
    \Glsxtrfull  480
    +class="ecti-1000">583
    \glsxtrfull  481
    +class="ecti-1000">584
    \Glsxtrfullformat  482
    +href="glossaries-extra-manual.html#dx1-19059" >585
    \glsxtrfullformat  483
    +href="glossaries-extra-manual.html#dx1-19055" >586
    \GLSxtrfullpl  484
    +class="ecti-1000">587
    + + + \Glsxtrfullpl  485
    +class="ecti-1000">588
    \glsxtrfullpl  486
    +class="ecti-1000">589
    \Glsxtrfullplformat  487
    +href="glossaries-extra-manual.html#dx1-19067" >590
    \glsxtrfullplformat  488
    +href="glossaries-extra-manual.html#dx1-19063" >591
    \glsxtrfullsep  489
    - - - +href="glossaries-extra-manual.html#dx1-16041" >592
    \glsxtrifcounttrigger  490
    +class="ecti-1000">593
    \glsxtrifwasfirstuse  491
    +href="glossaries-extra-manual.html#dx1-7052" >594
    \Glsxtrinlinefullformat  492
    +href="glossaries-extra-manual.html#dx1-19074" >595
    \glsxtrinlinefullformat  493
    +href="glossaries-extra-manual.html#dx1-19071" >596
    \Glsxtrinlinefullplformat  494
    +href="glossaries-extra-manual.html#dx1-19081" >597
    \glsxtrinlinefullplformat  495
    +href="glossaries-extra-manual.html#dx1-19078" >598
    \glsxtrinsertinsidetrue  496
    +href="glossaries-extra-manual.html#dx1-12042" >599
    \Glsxtrlong  497, 600, 498
    +class="ecti-1000">601
    \glsxtrlong  499
    +class="ecti-1000">602
    \GLSxtrlongpl  500
    +class="ecti-1000">603
    \Glsxtrlongpl  501
    +class="ecti-1000">604
    \glsxtrlongpl  502
    +class="ecti-1000">605
    +\glsxtrlongshortdescsort  606
    \glsxtrnewnumber  503
    +class="ecti-1000">607
    \glsxtrnewsymbol  504
    +class="ecti-1000">608
    \GlsXtrNoGlsWarningAutoMake  505
    +class="ecti-1000">609
    \GlsXtrNoGlsWarningBuildInfo  506
    +class="ecti-1000">610
    \GlsXtrNoGlsWarningCheckFile  507
    +class="ecti-1000">611
    \GlsXtrNoGlsWarningEmptyMain  508
    +class="ecti-1000">612
    \GlsXtrNoGlsWarningEmptyNotMain  509
    +class="ecti-1000">613
    \GlsXtrNoGlsWarningEmptyStart  510
    +class="ecti-1000">614
    \GlsXtrNoGlsWarningHead  511
    +class="ecti-1000">615
    \GlsXtrNoGlsWarningMisMatch  512
    +class="ecti-1000">616
    \GlsXtrNoGlsWarningNoOut  513
    +class="ecti-1000">617
    \GlsXtrNoGlsWarningTail  514
    +class="ecti-1000">618
    \Glsxtrpl  515
    +class="ecti-1000">619
    \glsxtrpl  516
    +class="ecti-1000">620
    \glsxtrpostdescription  517
    +href="glossaries-extra-manual.html#dx1-11013" >621
    \glsxtrpostlink  518
    +href="glossaries-extra-manual.html#dx1-7036" >622
    \glsxtrpostlinkAddDescOnFirstUse  519
    +href="glossaries-extra-manual.html#dx1-7043" >623
    \glsxtrpostlinkAddSymbolOnFirstUse  520
    +href="glossaries-extra-manual.html#dx1-7047" >624
    \glsxtrpostlinkendsentence  521
    +href="glossaries-extra-manual.html#dx1-7037" >625
    \glsxtrpostlinkhook  522
    +href="glossaries-extra-manual.html#dx1-7034" >626
    \glsxtrpostnamehook  523
    +href="glossaries-extra-manual.html#dx1-11009" >627
    \GlsXtrPostNewAbbreviation  524
    +class="ecti-1000">628
    +\glsxtrregularfont  629
    \glsxtrRevertMarks  525
    +class="ecti-1000">630
    \glsxtrscfont  526
    +class="ecti-1000">631
    \glsxtrscsuffix  527
    +href="glossaries-extra-manual.html#dx1-16027" >632
    \GlsXtrSetActualChar  528
    +class="ecti-1000">633
    \GlsXtrSetAltModifier  529
    +href="glossaries-extra-manual.html#dx1-7074" >634
    + + + \glsxtrsetcategory  530
    +href="glossaries-extra-manual.html#dx1-21109" >635
    \glsxtrsetcategoryforall  531
    +href="glossaries-extra-manual.html#dx1-21111" >636
    \GlsXtrSetDefaultGlsOpts  532
    +href="glossaries-extra-manual.html#dx1-7071" >637
    \GlsXtrSetEncapChar  533
    +class="ecti-1000">638
    \GlsXtrSetEscChar  534
    +class="ecti-1000">639
    \GlsXtrSetLevelChar  535
    +class="ecti-1000">640
    \Glsxtrshort  536, 641, 537
    - - - +class="ecti-1000">642
    \glsxtrshort  538
    +class="ecti-1000">643
    \GLSxtrshortpl  539
    +class="ecti-1000">644
    \Glsxtrshortpl  540
    +class="ecti-1000">645
    \glsxtrshortpl  541
    +class="ecti-1000">646
    \glsxtrsmfont  542
    +href="glossaries-extra-manual.html#dx1-16033" >647
    \glsxtrsmsuffix  543
    +href="glossaries-extra-manual.html#dx1-16037" >648
    \glsxtrtagfont  544
    +class="ecti-1000">649
    \GlsXtrUseAbbrStyleFmts  545
    +href="glossaries-extra-manual.html#dx1-19085" >650
    \GlsXtrUseAbbrStyleSetup  546
    +class="ecti-1000">651
    +\glsxtruserparen  652
    +\glsxtrusersuffix  653
    +\GlsXtrWarnDeprecatedAbbrStyle  654
    \GlsXtrWarning  547
    +class="ecti-1000">655

    H hyperref package  548, 549, 550, 551, 552, 553, 554, 555, 556, 557
    +href="glossaries-extra-manual.html#dx1-9030" >656, 657, 658, 659, 660, 661, 662, 663, 664, 665

    L link-text  558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 572
    +class="ecbx-1000">683
    location list  573, 684, 574
    +class="ecbx-1000">685

    M makeglossaries  575, 576, 577, 686, 687, 688, 578
    +class="ecbx-1000">689
    makeindex  579, 580, 581, 582, 583, 584, 690, 691, 692, 693, 694, 695, 585
    +class="ecbx-1000">696
    memoir class  586
    +href="glossaries-extra-manual.html#dx1-3024" >697
    mfirstuc package  587, 588
    +href="glossaries-extra-manual.html#dx1-9" >698, 699

    N \newabbreviation  589
    +class="ecti-1000">700
    \newabbreviationstyle  590
    +class="ecti-1000">701
    \newglossaryentry options
        category  591, 592, 593, 594
    +href="glossaries-extra-manual.html#dx1-5004" >702, 703, 704, 705
        desc  595, 596
    +href="glossaries-extra-manual.html#dx1-27038" >706, 707
        descplural  597, 598
    +href="glossaries-extra-manual.html#dx1-27042" >708, 709
        description  599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610
    +href="glossaries-extra-manual.html#dx1-16053" >710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724
    + + +     first  611, 612, 613, 614, 615, 616, 617, 618, 619, 620
    +href="glossaries-extra-manual.html#dx1-7015" >725, 726, 727, 728, 729, 730, 731, 732, 733, 734
        firstplural  621, 622, 623, 624, 625, 626
    +href="glossaries-extra-manual.html#dx1-7016" >735, 736, 737, 738, 739, 740
        long  627, 628, 629, 630
    +href="glossaries-extra-manual.html#dx1-12052" >741, 742, 743, 744, 745
        longplural  631, 632, 633, 634
    +href="glossaries-extra-manual.html#dx1-12053" >746, 747, 748, 749
        name  635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654
    +href="glossaries-extra-manual.html#dx1-9002" >750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772
        plural  655, 656, 657, 658
    +href="glossaries-extra-manual.html#dx1-7019" >773, 774, 775, 776
        see  659, 660, 661, 662, 663, 664, 665, 666
    +href="glossaries-extra-manual.html#dx1-4039" >777, 778, 779, 780, 781, 782, 783, 784
        short  667, 668, 669, 670, 671, 672, 673, 674, 675
    +href="glossaries-extra-manual.html#dx1-7012" >785, 786, 787, 788, 789, 790, 791, 792, 793, 794
        shortplural  676, 677, 678, 679, 680, 681, 682, 683, 684, 685
    +href="glossaries-extra-manual.html#dx1-12007" >795, 796, 797, 798, 799, 800, 801, 802, 803, 804
        sort  686, 687, 688, 689, 690
    - - - +href="glossaries-extra-manual.html#dx1-4060" >805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815
        symbol  691, 692
    +href="glossaries-extra-manual.html#dx1-27030" >816, 817
        symbolplural  693, 694
    +href="glossaries-extra-manual.html#dx1-27034" >818, 819
        text  695, 696, 697, 698, 699, 700, 701, 702
    +href="glossaries-extra-manual.html#dx1-7018" >820, 821, 822, 823, 824, 825, 826, 827
    +    user1  828, 829, 830
    number list  703, 704, 831, 832, 833, 834, 835, 836, 837, 838, 839, 705
    +class="ecbx-1000">840

    P package options:
        abbreviations  706, 707, 708, 709, 710
    +href="glossaries-extra-manual.html#dx1-4042" >841, 842, 843, 844, 845
        accsupp  711, 712, 713
    +href="glossaries-extra-manual.html#dx1-4008" >846, 847, 848
        acronym  714
    +href="glossaries-extra-manual.html#dx1-4050" >849
        acronymlists  715
    +href="glossaries-extra-manual.html#dx1-4056" >850
        automake  716
    +href="glossaries-extra-manual.html#dx1-29019" >851
        docdef  717
    +href="glossaries-extra-manual.html#dx1-4023" >852
            true  718
    +href="glossaries-extra-manual.html#dx1-4034" >853
        docdefs  719, 720
    +href="glossaries-extra-manual.html#dx1-24004" >854, 855
        index  721, 722
    +href="glossaries-extra-manual.html#dx1-5006" >856, 857
        indexcrossrefs  723, 724, 725
    +href="glossaries-extra-manual.html#dx1-4038" >858, 859, 860
        indexonlyfirst  726, 727, 728, 729
    +href="glossaries-extra-manual.html#dx1-6002" >861, 862, 863, 864
        nomain  730
    +href="glossaries-extra-manual.html#dx1-3036" >865
        nomissingglstext  731
    +href="glossaries-extra-manual.html#dx1-4037" >866
        nonumberlist  732
    +href="glossaries-extra-manual.html#dx1-11032" >867, 868, 869
        nopostdot  733, 734
    +href="glossaries-extra-manual.html#dx1-11019" >870, 871
            false  735, 736
    +href="glossaries-extra-manual.html#dx1-3005" >872, 873
            true  737
    +href="glossaries-extra-manual.html#dx1-3004" >874
        noredefwarn
            false  738
    +href="glossaries-extra-manual.html#dx1-3010" >875
            true  739
    +href="glossaries-extra-manual.html#dx1-3006" >876
        numbers  740, 741, 742
    +href="glossaries-extra-manual.html#dx1-4061" >877, 878, 879
        shortcuts  743, 744
    +href="glossaries-extra-manual.html#dx1-4064" >880, 881
            abbr  745, 746
    +href="glossaries-extra-manual.html#dx1-4070" >882, 883
            abbreviation  747
    +href="glossaries-extra-manual.html#dx1-15001" >884
            abbreviations  748
    +href="glossaries-extra-manual.html#dx1-4069" >885
            acro  749
    +href="glossaries-extra-manual.html#dx1-4067" >886
    + + +         acronyms  750
    +href="glossaries-extra-manual.html#dx1-4066" >887
            all  751
    +href="glossaries-extra-manual.html#dx1-4082" >888
            false  752
    +href="glossaries-extra-manual.html#dx1-4085" >889
            none  753
    +href="glossaries-extra-manual.html#dx1-4084" >890
            other  754
    +href="glossaries-extra-manual.html#dx1-4072" >891
            true  755
    +href="glossaries-extra-manual.html#dx1-4083" >892
        stylemods  756, 757, 758
    +href="glossaries-extra-manual.html#dx1-4017" >893, 894, 895
        symbols  759, 760, 761
    +href="glossaries-extra-manual.html#dx1-4057" >896, 897, 898
        toc
            false  762
    +href="glossaries-extra-manual.html#dx1-3003" >899
            true  763
    +href="glossaries-extra-manual.html#dx1-3002" >900
        translate
    - - -         babel  764
    +href="glossaries-extra-manual.html#dx1-3013" >901
            true  765
    +href="glossaries-extra-manual.html#dx1-3015" >902
        undefaction  766, 767
    +href="glossaries-extra-manual.html#dx1-4019" >903, 904
            error  768
    +href="glossaries-extra-manual.html#dx1-4020" >905
            warn  769
    +href="glossaries-extra-manual.html#dx1-4022" >906
    page (counter)  770, 771
    +href="glossaries-extra-manual.html#dx1-22029" >907, 908
    polyglossia package  772
    +href="glossaries-extra-manual.html#dx1-29006" >909
    \printabbreviations  773
    +class="ecti-1000">910
    \printglossary options
        title  774
    +href="glossaries-extra-manual.html#dx1-29007" >911

    R relsize package  775
    +href="glossaries-extra-manual.html#dx1-16035" >912
    \RestoreAcronyms  776, 913, 777
    +class="ecti-1000">914

    S \setabbreviationstyle  778
    +class="ecti-1000">915
    slantsc package  779
    +href="glossaries-extra-manual.html#dx1-20023" >916

    T textcase package  780
    +href="glossaries-extra-manual.html#dx1-12" >917
    tracklang package  781, 782
    +href="glossaries-extra-manual.html#dx1-8" >918, 919
    translator package  783
    +href="glossaries-extra-manual.html#dx1-3014" >920

    X xfor package  784
    +href="glossaries-extra-manual.html#dx1-13" >921
    xindy  785, 786, 787, 922, 923, 924, 788
    +class="ecbx-1000">925
    xkeyval package  789
    +href="glossaries-extra-manual.html#dx1-11" >926

    + + +

    1.14.21 was originally intended as the last release of glossaries #1={\protect\ttfamily#1}|main}} \newcommand*{\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}} @@ -139,13 +141,13 @@ styles (glossaries):>#1={\protect\ttfamily#1}|main}} \MakeShortVerb{"} \DeleteShortVerb{\|} - \title{glossaries-extra.sty v1.03: + \title{glossaries-extra.sty v1.04: an extension to the glossaries package} \author{Nicola L.C. Talbot\\[10pt] Dickimaw Books\\ \url{http://www.dickimaw-books.com/}} - \date{2016-04-27} + \date{2016-05-02} \maketitle \begin{abstract} @@ -662,8 +664,9 @@ actually has a hyperlink. The actual text and the way it's displayed depends on the command used (such as \cs{gls}) and the entry format. The default entry format (\ics{glsentryfmt}) used in the -\gls{linktext} by commands like \cs{gls} (but not commands like -\cs{glstext}) is changed by \styfmt{glossaries-extra} to test for +\gls{linktext} by commands like \ics{gls}, \ics{glsxtrfull}, +\ics{glsxtrshort} and \ics{glsxtrlong} (but not commands like +\ics{glslink}, \ics{glsfirst} and \cs{glstext}) is changed by \styfmt{glossaries-extra} to test for regular entries, which are determined as follows: \begin{itemize} @@ -695,6 +698,52 @@ 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, \ics{glsentryfmt} now puts \ics{glsgenentry} +in the argument of the new command +\begin{definition}[\DescribeMacro\glsxtrregularfont] +\cs{glsxtrregularfont}\marg{text} +\end{definition} +This just does its argument \meta{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 you can redefine +\cs{glsxtrregularfont}. This is more precise than changing +\ics{glstextformat} which will be applied to all linking commands +for all entries. + +For example: +\begin{verbatim} +\renewcommand*{\glsxtrregularfont}[1]{\textsf{#1}} +\end{verbatim} +You can access the label through \cs{glslabel}. For example, +you can query the category: +\begin{verbatim} +\renewcommand*{\glsxtrregularfont}[1]{% + \glsifcategory{\glslabel}{general}{\textsf{#1}}{#1}} +\end{verbatim} +or query the category attribute: +\begin{verbatim} +\glssetcategoryattribute{general}{font}{sf} + +\renewcommand*{\glsxtrregularfont}[1]{% + \glsifattribute{\glslabel}{font}{sf}{\textsf{#1}}{#1}} +\end{verbatim} +or use the attribute to store the control sequence name: +\begin{verbatim} +\glssetcategoryattribute{general}{font}{textsf} +\glssetcategoryattribute{acronym}{font}{emph} + +\renewcommand*{\glsxtrregularfont}[1]{% + \glshasattribute{\glslabel}{font}% + {\csuse{\glsgetattribute{\glslabel}{font}}{#1}}% + {#1}% +} +\end{verbatim} +(Remember the category and attribute settings will only queried +here for \catattr{regular} entries, so if the abbreviation style +for the \category{acronym} category in the above example changes +the regular attribute to \qt{false}, \cs{glsxtrregularfont} will +no longer apply.) + The \cs{glspostlinkhook} provided by the \sty{glossaries} package to insert information after the \gls{linktext} produced by commands like \cs{gls} and \cs{glstext} is redefined to @@ -771,7 +820,7 @@ Note that commands like \ics{glsfirst} and \ics{glsxtrfull} fake \cs{glsxtrifwasfirstuse} to \cs{@firstoftwo}. (Although, depending on the styles in use, they may not exactly match the text produced by \ics{gls}-like commands on \gls{firstuse}.) -However, the \abbrstyle{postfootnote} style alters \cs{glsxtrfull} +However, the \abbrstyle{short-postfootnote} style alters \cs{glsxtrfull} so that it fakes non-\gls{firstuse} otherwise the inline full format would include the footnote, which is inappropriate. \end{important} @@ -784,7 +833,7 @@ after the \gls{linktext} on \gls{firstuse} for the \category{general} category: } \end{verbatim} -The \abbrstyle{postfootnote} abbreviation style uses the +The \abbrstyle{short-postfootnote} abbreviation style uses the post-\gls{linktext} hook to place the footnote after trailing punctuation characters. @@ -1059,7 +1108,7 @@ Problem~\ref{itm:nestedsortprob} usually won't be an issue as most abbreviation styles set the \gloskey{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 -\abbrstyle{long-desc}). +\abbrstyle{long-noshort-desc}). Additionally, any instance of the long form commands, such as \ics{glsxtrlong} or \ics{acrlong} will be temporarily @@ -1164,8 +1213,8 @@ the preamble). This should take into account situations where \cs{hsize} isn't set until the start of the document. The commands \ics{glossentryname} and \ics{glossentrydesc} are -modified to take into account the \catattr{glossname} and -\catattr{glossdesc} attributes (see \sectionref{sec:categories}). +modified to take into account the \catattr{glossname}, +\catattr{glossdesc} and \catattr{glossdescfont} attributes (see \sectionref{sec:categories}). This means you can make simple case-changing modifications to the name and description without defining a new glossary style. @@ -1182,6 +1231,18 @@ then the name is automatically indexed using \end{definition} See \sectionref{sec:autoindex} for further details. +As from version 1.04, the post-name hook \cs{glsxtrpostnamehook} +will also do \cs{glsxtrpostname}\meta{category} if it exists. +You can use \ics{glscurrententrylabel} to obtain the entry label +with the definition of this command. For example, suppose you are +using a glossary style the doesn't display the symbol, you can +insert the symbol after the name for a particular category, say, +the \qt{symbol} category: +\begin{verbatim} +\newcommand*{\glsxtrpostnamesymbol}{\space + (\glsentrysymbol{\glscurrententrylabel})} +\end{verbatim} + The post-description code used within the glossary is modified so that it also does \begin{definition}[\DescribeMacro\glsxtrpostdescription] @@ -1275,6 +1336,48 @@ that the modified \glostyle{inline} style isn't affected by the \pkgopt{nopostdot} option, but the post-description category hook can still be used. +The \gls{numberlist} is now placed inside the argument of +\begin{definition}[\DescribeMacro\GlsXtrFormatLocationList] +\cs{GlsXtrFormatLocationList}\marg{number list} +\end{definition} +This is internally used by \cs{glossaryentrynumbers}. The +\pkgopt{nonumberlist} redefines \cs{glossaryentrynumbers} so that it +doesn't display the \gls{numberlist}, but it still saves the +\gls{numberlist} in case it's required. + +\begin{important} +If you want to suppress the \gls{numberlist} always use the +\pkgopt{nonumberlist} option instead of redefining +\cs{glossaryentrynumbers} to do nothing. +\end{important} + +If you want to, for example, change the font for the entire +\gls{numberlist} then redefine \cs{GlsXtrFormatLocationList} as +appropriate. Don't modify \cs{glossaryentrynumbers}. + +Sometimes users like to insert \qt{page} or \qt{pages} in front of +the \gls{numberlist}. This is quite fiddly to do with the base +\styfmt{glossaries} package, but \styfmt{glossaries-extra} +provides a way of doing this. First you need to enable this +option and specify the text to display using: +\begin{definition}[\DescribeMacro\GlsXtrEnablePreLocationTag] +\cs{GlsXtrEnablePreLocationTag}\marg{page}\marg{pages} +\end{definition} +where \meta{page} is the text to display if the \gls{numberlist} only +contains a single location and \meta{pages} is the text to display +otherwise. For example: +\begin{verbatim} +\GlsXtrEnablePreLocationTag{Page: }{Pages: } +\end{verbatim} +An extra run is required when using this command. + +\begin{important} +Use \texttt{glsignore} not \texttt{@gobble} as the format if you +want to suppress the page number (and only index the entry once). +\end{important} + +See the accompanying sample file \texttt{sample-pages.tex}. + \chapter{Abbreviations} \label{sec:abbreviations} @@ -1332,7 +1435,7 @@ redefine \ics{acronymtype}.) The \cs{newabbreviation} command is superficially similar to the \sty{glossaries} package's \cs{newacronym} but you can apply different styles to different categories. The default style is -\abbrstyle{short} for entries in the \category{acronym} category and +\abbrstyle{short-nolong} for entries in the \category{acronym} category and \abbrstyle{short-long} for entries in the \category{abbreviation} category. (These aren't the same as the acronym styles provided by the \sty{glossaries} package, although they may produce similar @@ -1368,32 +1471,57 @@ 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. -All predefined abbreviation styles redefine \cs{glsfirstabbrvfont} +Similarly the basic styles redefine \cs{glsfirstabbrvfont} to use \begin{definition}[\DescribeMacro\glsfirstabbrvdefaultfont] \cs{glsfirstabbrvdefaultfont}\marg{short-form} \end{definition} -By default, this just does \cs{glsabbrvfont}\marg{short-form} -so the \gls{firstuse} format matches the subsequence use format -for the short form. +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. As with \ics{glsabbrvfont}, this command +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 provided by \styfmt{glossaries-extra} redefine +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} -You can redefine this command if you want to change the font used by -the long form on \gls{firstuse} for all your abbreviations, or you can +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: @@ -1418,8 +1546,8 @@ 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 form, which is used by commands like \ics{glsxtrfull}. For some of the abbreviation styles, such as \abbrstyle{long-short}, the display and inline forms -are the same. In the case of styles such as \abbrstyle{short} or -\abbrstyle{footnote}, the display and inline full forms are different. +are the same. In the case of styles such as \abbrstyle{short-nolong} or +\abbrstyle{short-footnote}, the display and inline full forms are different. These formatting commands aren't stored in the \gloskey{short}, \gloskey{shortplural}, \gloskey{long} or \gloskey{longplural} @@ -1509,7 +1637,7 @@ given category. If there is no style set for the category, the fallback is the style for the \texttt{abbreviation} category. Some styles may automatically modify one or more of the attributes associated with the given category. For example, the -\abbrstyle{long} and \abbrstyle{short} styles set the +\abbrstyle{long-noshort} and \abbrstyle{short-nolong} styles set the \catattr{regular} attribute to \texttt{true}. \begin{important} @@ -1548,7 +1676,8 @@ The \emph{inline} full form can be produced with (This this instead of \ics{acrfull}.) 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} style +\gls{firstuse} with \cs{gls}. For example, the +\abbrstyle{short-nolong} style only displays the short form on \gls{firstuse}, but the full form will display the long form followed by the short form in parentheses. @@ -1719,6 +1848,14 @@ which is defined as \begin{verbatim} \newcommand*{\glsxtrscfont}[1]{\textsc{#1}} \end{verbatim} +and +\begin{definition}[\DescribeMacro\glsxtrfirstscfont] +\cs{glsxtrfirstscfont}\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 \begin{definition}[\DescribeMacro\glsxtrscsuffix] \cs{glsxtrscsuffix} @@ -1737,6 +1874,15 @@ 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} @@ -1745,7 +1891,15 @@ This is defined as: \begin{verbatim} \newcommand*{\glsxtrsmfont}[1]{\textsmaller{#1}} \end{verbatim} -If you want to use this, you must explicitly load the \sty{relsize} +and +\begin{definition}[\DescribeMacro\glsxtrfirstsmfont] +\cs{glsxtrfirstsmfont}\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: @@ -1758,9 +1912,22 @@ The default plural suffix for the short form is set to \end{definition} This just does \ics{glspluralsuffix}. -The \qt{em} styles all redefine \ics{glsabbrvfont} to use -\ics{emph}. This is done explicitly and not through a helper -command such as \cs{glsxtrscfont}. +The \qt{em} styles all 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 +\begin{definition}[\DescribeMacro\glsfirstabbrvemfont] +\cs{glsfirstabbrvemfont}\marg{text} +\end{definition} +which is defined as: +\begin{verbatim} +\newcommand*{\glsfirstabbrvemfont}[1]{\glsabbrvemfont{#1}} +\end{verbatim} Some of the styles use \begin{definition}[\DescribeMacro\glsxtrfullsep] @@ -1776,6 +1943,91 @@ or \renewcommand*{\glsxtrfullsep}[1]{\glsacspace{#1}} \end{verbatim} +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}] + +This is for the parenthetical styles. The \texttt{-}\meta{modifier} parts may +be omitted. These styles display \meta{field1} followed by +\meta{field2} in parentheses. If \meta{field2} starts with \qt{no} +then the parenthetical element is omitted from the display style but +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 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.) + +Examples: + \begin{itemize} + \item\abbrstyle{long-noshort-sc}: \meta{field1} is the long +form, the short form is set in smallcaps but omitted in the display +style. + \item\abbrstyle{long-em-short-em}: both the long form and the +short form are emphasized. The short form is in parentheses. + \item\abbrstyle{long-short-em}: the +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}). + \end{itemize} + +\item +\meta{field1}[\texttt{-}\meta{modifier1}]\texttt{-}[\texttt{post}]\texttt{footnote} + +The display style uses \meta{field1} followed by a footnote with the +other field in it. If \texttt{post} is present then the footnote is +placed after the \gls{linktext} using the post-link hook. +The inline style does \meta{field1} followed by the other field in +parentheses. + +If \texttt{-}\meta{modifier1} is present, \meta{field1} has a +font-changing command applied to it. + +Examples: +\begin{itemize} +\item \abbrstyle{short-footnote}: short form in the text with the +long form in the footnote. +\item \abbrstyle{short-sc-postfootnote}: short form in smallcaps +with the long form in the footnote outside of the \gls{linktext}. +\end{itemize} + +\begin{important} +Take care with the footnote styles. Remember that there are some +situations where \ics{footnote} doesn't work. +\end{important} + +\item \meta{style}\texttt{-desc} + +Like \meta{style} but the \gloskey{description} key must be provided +when defining abbreviations with this style. + +Examples: +\begin{itemize} + +\item \abbrstyle{short-long-desc}: like \abbrstyle{short-long} but +requires a description. +\item \abbrstyle{short-em-footnote-desc}: like +\abbrstyle{short-em-footnote} but requires a description. +\end{itemize} +\end{itemize} + +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: +\begin{definition}[\DescribeMacro\GlsXtrWarnDeprecatedAbbrStyle] +\cs{GlsXtrWarnDeprecatedAbbrStyle}\marg{old-name}\marg{new-name} +\end{definition} +where \meta{old-name} is the deprecated name and \meta{new-name} is +the preferred name. You can suppress these warnings by redefining +this command to do nothing. + \subsection{Predefined Abbreviation Styles that Set the Regular Attribute} \label{sec:predefregabbrvstyles} @@ -1785,88 +2037,144 @@ attribute to \qt{true} for all categories that have abbreviations defined with any of these styles. \begin{description} -\item[\abbrstyle{short}] +\item[\abbrstyle{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-sc}] -Like \abbrstyle{short} but redefines \cs{glsabbrvfont} to +\item[\abbrstyle{short}] A synonym for \abbrstyle{short-nolong}. + +\item[\abbrstyle{short-sc-nolong}] +Like \abbrstyle{short-nolong} but redefines \cs{glsabbrvfont} to use \ics{glsxtrscfont}. -\item[\abbrstyle{short-sm}] -Like \abbrstyle{short} but redefines \cs{glsabbrvfont} to +\item[\abbrstyle{short-sc}] A synonym for \abbrstyle{short-sc-nolong} + +\item[\abbrstyle{short-sm-nolong}] +Like \abbrstyle{short-nolong} but redefines \cs{glsabbrvfont} to use \ics{glsxtrsmfont}. -\item[\abbrstyle{short-em}] -Like \abbrstyle{short} but redefines \cs{glsabbrvfont} to -use \ics{emph}. +\item[\abbrstyle{short-sm}] A synonym for \abbrstyle{short-sm-nolong}. + +\item[\abbrstyle{short-em-nolong}] +Like \abbrstyle{short-nolong} but redefines \cs{glsabbrvfont} to +use \ics{glsxtremfont}. -\item[\abbrstyle{short-desc}] -Like the \abbrstyle{short} style, but the \gloskey{name} is set to +\item[\abbrstyle{short-em}] A synonym for \abbrstyle{short-em-nolong} + +\item[\abbrstyle{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} style with the +user. You may prefer to use the \abbrstyle{short-nolong} style with the 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-sc-desc}] -Like \abbrstyle{short} but redefines \cs{glsabbrvfont} to +\item[\abbrstyle{short-desc}] A synonym for +\abbrstyle{short-nolong-desc}. + +\item[\abbrstyle{short-sc-nolong-desc}] +Like \abbrstyle{short-nolong} but redefines \cs{glsabbrvfont} to use \ics{glsxtrscfont}. -\item[\abbrstyle{short-sm-desc}] -Like \abbrstyle{short-desc} but redefines \cs{glsabbrvfont} to +\item[\abbrstyle{short-sc-desc}] A synonym for +\abbrstyle{short-sc-nolong-desc}. + +\item[\abbrstyle{short-sm-nolong-desc}] +Like \abbrstyle{short-nolong-desc} but redefines \cs{glsabbrvfont} to use \ics{glsxtrsmfont}. -\item[\abbrstyle{short-em-desc}] -Like \abbrstyle{short-desc} but redefines \cs{glsabbrvfont} to -use \ics{emph}. +\item[\abbrstyle{short-sm-desc}] A synonym for +\abbrstyle{short-sm-nolong-desc}. + +\item[\abbrstyle{short-em-nolong-desc}] +Like \abbrstyle{short-nolong-desc} but redefines \cs{glsabbrvfont} to +use \ics{glsxtremfont}. + +\item[\abbrstyle{short-em-desc}] A synonym for +\abbrstyle{short-em-nolong-desc}. -\item[\abbrstyle{long-desc}] +\item[\abbrstyle{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 form displays \meta{long} (\meta{short}). -The \gloskey{name} is set to the long form and the +The \gloskey{name} and \gloskey{sort} keys are set to the long form and the \gloskey{description} must be provided by the user. The predefined glossary styles won't display the short form. You can use the post-description hook to automatically append the short form to the description. The inline full form will display \meta{long} (\meta{short}). -\item[\abbrstyle{long-desc-sc}] -Like the \abbrstyle{long-desc} style but the short form (accessed +\item[\abbrstyle{long-desc}] A synonym for +\abbrstyle{long-noshort-desc}. + +\item[\abbrstyle{long-noshort-sc-desc}] +Like the \abbrstyle{long-noshort-desc} style but the short form (accessed through commands like \ics{glsxtrshort}) use \ics{glsxtrscfont}. +(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-desc-sm}] -Like \abbrstyle{long-desc} but redefines \cs{glsabbrvfont} to +\item[\abbrstyle{long-noshort-sm-desc}] +Like \abbrstyle{long-noshort-desc} but redefines \cs{glsabbrvfont} to use \ics{glsxtrsmfont}. - -\item[\abbrstyle{long-desc-em}] -Like \abbrstyle{long-desc} but redefines \cs{glsabbrvfont} to -use \ics{emph}. - -\item[\abbrstyle{long}] +(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}] +Like \abbrstyle{long-noshort-desc} but redefines \cs{glsabbrvfont} to +use \ics{glsxtremfont}. 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}] +New to version 1.04, like \abbrstyle{long-noshort-desc} but redefines +\cs{glsabbrvfont} to use \ics{glsxtremfont}. The long form uses +\ics{glsfirstlongemfont} and \ics{glslongemfont}. + +\item[\abbrstyle{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-desc} style, but the \gloskey{name} -is set to the short form and the \gloskey{description} is set to the +This is like the \abbrstyle{long-noshort-desc} style, but the \gloskey{name} +and \gloskey{sort} keys are +set to the short form and the \gloskey{description} is set to the long form. -\item[\abbrstyle{long-sc}] -Like the \abbrstyle{long} style but the short form (accessed +\item[\abbrstyle{long}] A synonym for \abbrstyle{long-noshort} + +\item[\abbrstyle{long-noshort-sc}] +Like the \abbrstyle{long-noshort} style but the short form (accessed through commands like \ics{glsxtrshort}) use \ics{glsxtrscfont}. +(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-sm}] -Like \abbrstyle{long} but redefines \cs{glsabbrvfont} to +\item[\abbrstyle{long-noshort-sm}] +Like \abbrstyle{long-noshort} but redefines \cs{glsabbrvfont} to use \ics{glsxtrsmfont}. - -\item[\abbrstyle{long-em}] -Like \abbrstyle{long} but redefines \cs{glsabbrvfont} to -use \ics{emph}. +(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}] +This style is like \abbrstyle{long-noshort} but redefines \cs{glsabbrvfont} to +use \ics{glsxtremfont}. 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}] +New to version 1.04, this style is like \abbrstyle{long-noshort} but redefines \cs{glsabbrvfont} to +use \ics{glsxtremfont}, \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}. \end{description} @@ -1883,9 +2191,13 @@ Other attributes may also be set, depending on the style. \item[\abbrstyle{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} -is set to the short form. The +and \gloskey{sort} keys are set to the short form. (The +\gloskey{name} key additionally includes the font command +\cs{glsabbrvfont}.) The \gloskey{description} is set to the long form. The long and short -forms are separated by \cs{glsxtrfullsep}. +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}] Like \abbrstyle{long-short} but redefines \cs{glsabbrvfont} to @@ -1897,13 +2209,92 @@ use \ics{glsxtrsmfont}. \item[\abbrstyle{long-short-em}] Like \abbrstyle{long-short} but redefines \cs{glsabbrvfont} to -use \ics{emph}. +use \ics{glsxtremfont}. + +\item[\abbrstyle{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}] +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 +of the field given by +\begin{definition}[DescribeMacro\glsxtruserfield] +\cs{glsxtruserfield} +\end{definition} +(which defaults to \texttt{useri}) using \ics{ifglshasfield} +(provided by \sty{glossaries}). If the field hasn't been set, +the style behaves like the \abbrstyle{long-short} style and +produces \meta{long} (\meta{short}) but if the field has been set, +the contents of that field are inserted within the parentheses in +the form \meta{long} (\meta{short}, \meta{field-value}). +The format is governed by +\begin{definition}[\DescribeMacro\glsxtruserparen] +\cs{glsxtruserparen}\marg{text}\marg{label} +\end{definition} +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. +The \meta{text} argument includes the font formatting command, +\cs{glsfirstabbrvfont}\marg{short} in the case of the +\abbrstyle{long-short-user} style and +\cs{glsfirstlongfont}\marg{long} in the +case of the \abbrstyle{short-long-user} style. + +For example: +\begin{verbatim} +\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} + +\end{verbatim} +On first use, \verb|\gls{tug}| will appear as: +\begin{quote} +\TeX\ User Group (TUG) +\end{quote} +whereas \verb|\gls{dante}| will appear as: +\begin{quote} +Deutschsprachige Anwendervereinigung \TeX\ e.V (DANTE, German Speaking \TeX\ User Group) +\end{quote} + +The short form is formatted according to +\begin{definition}[\DescribeMacro\glsabbrvuserfont] +\cs{glsabbrvuserfont}\marg{text} +\end{definition} +and the plural suffix is given by +\begin{definition}[\DescribeMacro\glsxtrusersuffix] +\cs{glsxtrusersuffix} +\end{definition} + +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{\glsxtrusersuffix}{\glsxtrscsuffix} +\end{verbatim} \item[\abbrstyle{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{description} must be supplied by the user. +is set to the full form. The \gloskey{sort} key is set to +\meta{long} (\meta{short}). Before version 1.04, this was +incorrectly set to the short form. If you want to revert back to +this you can redefine +\begin{definition}[\DescribeMacro\glsxtrlongshortdescsort] +\cs{glsxtrlongshortdescsort} +\end{definition} +For example: +\begin{verbatim} +\renewcommand*{\glsxtrlongshortdescsort}{\the\glsshorttok} +\end{verbatim} +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}] @@ -1916,14 +2307,32 @@ use \ics{glsxtrsmfont}. \item[\abbrstyle{long-short-em-desc}] Like \abbrstyle{long-short-desc} but redefines \cs{glsabbrvfont} to -use \ics{emph}. +use \ics{glsxtremfont}. + +\item[\abbrstyle{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[\abbrstyle{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 +as for \abbrstyle{long-short-user} and the \gloskey{name} key is as +\abbrstyle{long-short-desc}. The \gloskey{description} key must be +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}] 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 short form. The +and \gloskey{sort} keys are set to the short form. The \gloskey{description} is set to the long form. The short and long forms are separated by \cs{glsxtrfullsep}. +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}] Like \abbrstyle{short-long} but redefines \cs{glsabbrvfont} to @@ -1935,7 +2344,18 @@ use \ics{glsxtrsmfont}. \item[\abbrstyle{short-em-long}] Like \abbrstyle{short-long} but redefines \cs{glsabbrvfont} to -use \ics{emph}. +use \ics{glsxtremfont}. + +\item[\abbrstyle{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}] +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}] On \gls{firstuse}, this style uses the format \meta{short} (\meta{long}). @@ -1954,9 +2374,22 @@ use \ics{glsxtrsmfont}. \item[\abbrstyle{short-em-long-desc}] Like \abbrstyle{short-long-desc} but redefines \cs{glsabbrvfont} to -use \ics{emph}. - -\item[\abbrstyle{footnote}] +use \ics{glsxtremfont}. + +\item[\abbrstyle{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}] +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 +as for \abbrstyle{short-long-user} and the \gloskey{name} key is as +\abbrstyle{short-long-desc}. The \gloskey{description} key must be +supplied in the optional argument of \cs{newabbreviation} +(or \cs{newacronym}). + +\item[\abbrstyle{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 @@ -1967,20 +2400,32 @@ The inline full form uses the \meta{short} (\meta{long}) style. The \gloskey{name} is set to the short form. The \gloskey{description} is set to the long form. -\item[\abbrstyle{footnote-sc}] -Like \abbrstyle{footnote} but redefines \cs{glsabbrvfont} to +\item[\abbrstyle{footnote}] A synonym for +\abbrstyle{short-footnote}. + +\item[\abbrstyle{short-sc-footnote}] +Like \abbrstyle{short-footnote} but redefines \cs{glsabbrvfont} to use \ics{glsxtrscfont}. +(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{footnote-sm}] -Like \abbrstyle{footnote} but redefines \cs{glsabbrvfont} to +\item[\abbrstyle{short-sc-footnote}] +Like \abbrstyle{short-footnote} but redefines \cs{glsabbrvfont} to use \ics{glsxtrsmfont}. - -\item[\abbrstyle{footnote-em}] -Like \abbrstyle{footnote} but redefines \cs{glsabbrvfont} to -use \ics{emph}. - -\item[\abbrstyle{postfootnote}] -This is similar to the \abbrstyle{footnote} style but doesn't modify +(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}] +Like \abbrstyle{short-footnote} but redefines \cs{glsabbrvfont} to +use \ics{glsxtremfont}. +(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}] +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 \gls{linktext} on \gls{firstuse}. This will also defer the footnote until after any @@ -1994,17 +2439,29 @@ 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-sc}] -Like \abbrstyle{postfootnote} but redefines \cs{glsabbrvfont} to +\item[\abbrstyle{postfootnote}] A synonym for +\abbrstyle{short-postfootnote}. + +\item[\abbrstyle{short-sc-postfootnote}] +Like \abbrstyle{short-postfootnote} but redefines \cs{glsabbrvfont} to use \ics{glsxtrscfont}. +(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{postfootnote-sm}] -Like \abbrstyle{postfootnote} but redefines \cs{glsabbrvfont} to +\item[\abbrstyle{short-sm-postfootnote}] +Like \abbrstyle{short-postfootnote} but redefines \cs{glsabbrvfont} to use \ics{glsxtrsmfont}. +(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{postfootnote-em}] -Like \abbrstyle{postfootnote} but redefines \cs{glsabbrvfont} to -use \ics{emph}. +\item[\abbrstyle{short-em-postfootnote}] +Like \abbrstyle{short-postfootnote} but redefines \cs{glsabbrvfont} to +use \ics{glsxtremfont}. +(This style was originally called \depabbrstyle{postfootnote-em}. Renamed in version +1.04, but original name retained as a deprecated synonym for +backward-compatibility.) \end{description} @@ -2071,7 +2528,7 @@ The \meta{setup} argument may also redefine which can be used to assign attributes. (This will automatically be initialised to do nothing.) -For example, the \abbrstyle{footnote} includes the following in +For example, the \abbrstyle{short-footnote} includes the following in \meta{setup}: \begin{verbatim} \renewcommand*{\GlsXtrPostNewAbbreviation}{% @@ -2145,10 +2602,10 @@ 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{footnote-sc} and \abbrstyle{footnote-sm} +For example, the \abbrstyle{short-sc-footnote} and \abbrstyle{short-sm-footnote} styles both simply use \begin{verbatim} -\GlsXtrUseAbbrStyleSetup{footnote} +\GlsXtrUseAbbrStyleSetup{short-footnote} \end{verbatim} within \meta{setup}. @@ -2180,6 +2637,12 @@ The font used for the long form on \gls{firstuse} or in the full forms: \cs{glsfirstlongfont}\marg{text} \end{definition} +The font used for the long form in commands like \cs{glsxtrlong} +use: +\begin{definition}[\DescribeMacro\glslongfont] +\cs{glslongfont}\marg{text} +\end{definition} + Display full form singular no case-change (used by \ics{gls} on \gls{firstuse} for abbreviations without the \catattr{regular} attribute set): @@ -2251,6 +2714,7 @@ For example, the \abbrstyle{short-long} style has the following in \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}})% @@ -2301,7 +2765,7 @@ existing style are the \qt{em} styles, such as the }% {% fmts \GlsXtrUseAbbrStyleFmts{short-long}% - \renewcommand*{\glsabbrvfont}[1]{\emph{##1}}% + \renewcommand*{\glsabbrvfont}[1]{\glsxtremfont{##1}}% } \end{verbatim} @@ -2609,6 +3073,24 @@ 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.) +Note that this can cause a problem if you access a field that +doesn't end with a full stop. For example: +\begin{verbatim} +\newabbreviation + [user1={German Speaking \TeX\ User Group}] + {dante}{DANTE e.V.}{Deutschsprachige Anwendervereinigung \TeX\ +e.V.} +\end{verbatim} +Here the \gloskey{short} and \gloskey{long} fields end with a full stop, but the +\gloskey{user1} field doesn't. The simplest solution in this +situation is to put the sentence terminator in the final optional +argument. For example: +\begin{verbatim} +\glsuseri{dante}[.] +\end{verbatim} +This will bring the punctuation character inside the \gls{linktext} +and it won't be discarded. + \item[\catattr{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 @@ -2688,6 +3170,17 @@ the title casing command \ics{capitalisewords} (provided by \sty{mfirstuc}) is used on the name. Any other values of this attribute are ignored. +\item[\catattr{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 +argument. This control sequence will be applied to the description +text. For example: +\begin{verbatim} +\glssetcategoryattribute{general}{glossdescfont}{emph} +\end{verbatim} + + \item[\catattr{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. @@ -2697,6 +3190,22 @@ 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) +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 +argument. This control sequence will be applied to the name +text. For example: +\begin{verbatim} +\glssetcategoryattribute{general}{glossnamefont}{emph} +\end{verbatim} +Note that this overrides \cs{glsnamefont} which will only +be used if this attribute hasn't been set. + +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 has information written to the external glossary file through commands like \ics{gls} and \ics{glsadd}, a~corresponding @@ -2783,7 +3292,7 @@ from a particular entry: \end{definition} There's also a shortcut to determine if a particular category has -the \catattr{regular} attribute set: +the \catattr{regular} attribute set to \qt{true}: \begin{definition}[\DescribeMacro\glsifregularcategory] \cs{glsifregularcategory}\marg{category-label}\marg{true-part}\marg{false-part} \end{definition} @@ -2792,6 +3301,19 @@ entry: \begin{definition}[\DescribeMacro\glsifregular] \cs{glsifregular}\marg{entry-label}\marg{true-part}\marg{false-part} \end{definition} +Note that if the \catattr{regular} attribute hasn't be set, the +above do \meta{false-part}. There are also reverse commands that +test if the \catattr{regular} attribute has been set to \qt{false}: +\begin{definition}[\DescribeMacro\glsifnotregularcategory] +\cs{glsifnotregularcategory}\marg{category-label}\marg{true-part}\marg{false-part} +\end{definition} +or for a particular entry: +\begin{definition}[\DescribeMacro\glsifnotregular] +\cs{glsifnotregular}\marg{entry-label}\marg{true-part}\marg{false-part} +\end{definition} +Again, if the \catattr{regular} attribute hasn't been set, the above +do \meta{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: \begin{definition} @@ -3640,6 +4162,9 @@ files provided by the \sty{glossaries} package for testing. \item[sample-mixture.tex] General entries, acronyms and initialisms all treated differently. +\item[sample-name-font] Categories and attributes are used to +customize the way different entries appear. + \item[sample-abbrv.tex] General abbreviations. \item[sample-acronym.tex] Acronyms aren't initialisms and don't @@ -3690,6 +4215,9 @@ if used more than $n$ times). \item[sample-unitentrycount.tex] Enable use of per-unit entry-use counting. +\item[sample-pages.tex] Insert \qt{page} or \qt{pages} before the +location list. + \item[sample-onelink.tex] Using the per-unit entry counting to only have one hyperlink per entry per page. 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 84a4f37b9e6..b37ee2e20a9 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 7e13ea85f34..175c980c4f7 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-accsupp.tex b/Master/texmf-dist/doc/latex/glossaries-extra/sample-accsupp.tex index 5ff870ab85f..a49aab93228 100644 --- a/Master/texmf-dist/doc/latex/glossaries-extra/sample-accsupp.tex +++ b/Master/texmf-dist/doc/latex/glossaries-extra/sample-accsupp.tex @@ -70,8 +70,8 @@ Access short: \glsentryshortaccess{spld}. If the access field isn't set in the above, no replacement text is used in the corresponding \verb|\glstext|, \verb|\glsaccesstext| etc commands. -Text field: \glstext{spld} (\glsaccesstext{spld}). -Short field: \glsxtrshort{spld} (\glsaccessshort{spld}). +Text field: \glstext{spld} [no-index/link version: \glsaccesstext{spld}]. +Short field: \glsxtrshort{spld} [no-index/link version: \glsaccessshort{spld}]. \section{A Symbol} 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 6b31b5ae5db..e0f6c8f46e1 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 77009987f7a..65eafa65876 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-altmodifier.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-altmodifier.pdf index bdf84f15706..1de3b3e449e 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-autoindex-hyp.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-autoindex-hyp.pdf index df6fa0ab87c..96ad5c905e6 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 5508e3c7c69..adc12e48bce 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 af58db8ed32..7565c9bca20 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-docdef.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-docdef.pdf index 5811b5a6aa3..dac1c527910 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 4bde611ee48..939f5cdb4f4 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-footnote.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-footnote.pdf index 926772c8453..bc3c3e12c1c 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 85655ff7f4f..82b7fa8d327 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 9d1645b20ae..27643283f2d 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 ad95437e75b..d971b7501f0 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 0309d0c0a19..c082e3fa908 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-mixture.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-mixture.pdf index 2ef99d7689a..7a325b6e116 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-mixture.tex b/Master/texmf-dist/doc/latex/glossaries-extra/sample-mixture.tex index b4fcb875202..352200311e1 100644 --- a/Master/texmf-dist/doc/latex/glossaries-extra/sample-mixture.tex +++ b/Master/texmf-dist/doc/latex/glossaries-extra/sample-mixture.tex @@ -13,6 +13,35 @@ % regular terms: +% (Version 1.04+) The following will make regular terms appear +% in sans-serif when used with \gls etc but won't affect the +% abbreviations: + +%\renewcommand*{\glsxtrregularfont}[1]{\textsf{#1}} + +% or limit to just the "general" category: +%\renewcommand*{\glsxtrregularfont}[1]{% +% \glsifcategory{\glslabel}{general}{\textsf{#1}}{#1}} + +% or limit to a particular attribute: + +%\glssetcategoryattribute{general}{font}{sf} +%\glssetcategoryattribute{acronym}{font}{sf} + +%\renewcommand*{\glsxtrregularfont}[1]{% +% \glsifattribute{\glslabel}{font}{sf}{\textsf{#1}}{#1}} + +% or use the attribute to store the font control sequence name: + +%\glssetcategoryattribute{general}{font}{textsf} +%\glssetcategoryattribute{acronym}{font}{emph} +% +%\renewcommand*{\glsxtrregularfont}[1]{% +% \glshasattribute{\glslabel}{font}% +% {\csuse{\glsgetattribute{\glslabel}{font}}{#1}}% +% {#1}% +%} + % The following will make the first letter of the name upper case % in the glossary for the general entries: \glssetcategoryattribute{general}{glossname}{firstuc} @@ -21,6 +50,16 @@ % in the glossary for the general entries: \glssetcategoryattribute{general}{glossdesc}{firstuc} +% (version 1.04+) The following will make the description +% appear in italic in the glossary for general entries: + +%\glssetcategoryattribute{general}{glossdescfont}{emph} + +% (version 1.04+) The following will make the name +% appear in italic in the glossary for general entries: + +%\glssetcategoryattribute{general}{glossnamefont}{emph} + \newglossaryentry{duck}{name=duck,% description={a waterbird with webbed feet}} 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 new file mode 100644 index 00000000000..062ea4bb470 Binary files /dev/null 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-name-font.tex b/Master/texmf-dist/doc/latex/glossaries-extra/sample-name-font.tex new file mode 100644 index 00000000000..169b28e9c22 --- /dev/null +++ b/Master/texmf-dist/doc/latex/glossaries-extra/sample-name-font.tex @@ -0,0 +1,355 @@ +% arara: pdflatex +% arara: makeglossaries +% arara: pdflatex +% arara: pdflatex +\documentclass[fontsize=10pt,open=any]{scrbook} + +\usepackage[T1]{fontenc} +\usepackage{tgtermes} +\usepackage{xcolor} +\usepackage{siunitx} +\usepackage[hidelinks]{hyperref} +\usepackage[nopostdot=false,% don't suppress the post-description dot + stylemods=longragged,% load glossary-longragged.sty and glossaries-extra-stylemods.sty + style=longragged3col,% set the glossary style + nogroupskip% don't have a gap between groups +]{glossaries-extra} + +% KOMA class alterations (the default sans-serif clashes +% with the smallcaps font in the headings examples) +\setkomafont{disposition}{\normalcolor\bfseries} + +\pagestyle{headings} + +% Need a wider column for the location list: +\setlength{\glspagelistwidth}{0.12\textwidth} + +% Adjust the description column width if necessary: +%\setlength{\glsdescwidth}{0.5\textwidth} + +% Default font for name field in the glossary. This may be +% overridden by the category attributes: +\renewcommand*{\glsnamefont}[1]{\textbf{#1}} + +\makeglossaries + +% Define some semantic commands: +\newcommand*{\animalfont}[1]{\textcolor{brown}{#1}} +\newcommand*{\vegetablefont}[1]{\textcolor{teal}{#1}} +\newcommand*{\mineralfont}[1]{\textcolor{violet}{#1}} +\newcommand*{\myacronymfont}[1]{\textcolor{orange}{#1}} +\newcommand*{\bacteriafont}[1]{\textcolor{green}{#1}} +\newcommand*{\unitfont}[1]{\textcolor{blue}{#1}} +\newcommand*{\constantfont}[1]{\textcolor{magenta}{#1}} + +% Make the first letter of the name field uppercase in the glossary +% for the given categories: + +\glssetcategoryattribute{animal}{glossname}{firstuc} +\glssetcategoryattribute{mineral}{glossname}{firstuc} +\glssetcategoryattribute{vegetable}{glossname}{firstuc} + +% Make the name field in the glossary use a font changing command +% (overrides \glsnamefont). In this example, I'm using the semantic +% commands I defined above. The backslash is omitted. + +\glssetcategoryattribute{animal}{glossnamefont}{animalfont} +\glssetcategoryattribute{mineral}{glossnamefont}{mineralfont} +\glssetcategoryattribute{vegetable}{glossnamefont}{vegetablefont} +\glssetcategoryattribute{acronym}{glossnamefont}{myacronymfont} +\glssetcategoryattribute{bacteria}{glossnamefont}{bacteriafont} +\glssetcategoryattribute{unit}{glossnamefont}{unitfont} +\glssetcategoryattribute{constant}{glossnamefont}{constantfont} + +% Modify the font used for the description in the glossary: +%\glssetcategoryattribute{bacteria}{glossdescfont}{textsf} + +% Modify the way commands like \gls display regular terms according +% to attribute. + +\glssetcategoryattribute{general}{font}{textsf} +\glssetcategoryattribute{mineral}{font}{mineralfont} +\glssetcategoryattribute{animal}{font}{animalfont} +\glssetcategoryattribute{vegetable}{font}{vegetablefont} +\glssetcategoryattribute{acronym}{font}{myacronymfont} +\glssetcategoryattribute{unit}{font}{unitfont} +\glssetcategoryattribute{constant}{font}{constantfont} + +% I can't add one of the above for the "abbreviation" or "bacteria" +% category as they aren't considered regular entries. (They use +% one of the abbreviation styles that sets the "regular" attribute +% to "false".) +\glssetcategoryattribute{bacteria}{font}{bacteriafont}% ignored! +% If the abbreviation style for "bacteria" is changed to, say, +% "short-em", the attribute won't be ignored. + +% Adjust \glsxtrregularfont so that it picks up the appropriate +% command from the "font" attribute (set above). +\renewcommand*{\glsxtrregularfont}[1]{% + \glshasattribute{\glslabel}{font}% + {\csuse{\glsgetattribute{\glslabel}{font}}{#1}}% + {#1}% +} + +\newglossaryentry{duck}{name=duck, + category={animal}, + description={a waterbird with webbed feet}} + +\newglossaryentry{parrot}{name=parrot, + category={animal}, + description={mainly tropical bird with bright plumage}} + +\newglossaryentry{cabbage}{name=cabbage, + category={vegetable}, + description={vegetable with thick green or purple leaves}} + +\newglossaryentry{brocolli}{name=brocolli, + category={vegetable}, + description={vegetable with heads of small green or purple flower +buds}} + +\newglossaryentry{quartz}{name=quartz, + category=mineral, + description={hard mineral consisting of silica}} + +\newglossaryentry{corundum}{name=corundum, + category=mineral, + description={crystalline form of aluminium oxide}} + +% The following doesn't have the category explicitly set, so it +% defaults to "general": + +\newglossaryentry{loremipsum}{name={lorem ipsum}, + description={dummy text}} + +% The following set the category to "unit": + +\newglossaryentry{ohm}{name=ohm,symbol={\si{\ohm}}, +category=unit, +description=unit of electrical resistance} + +\newglossaryentry{angstrom}{name={\aa}ngstr\"om, +category=unit, +symbol={\si{\angstrom}},sort=angstrom, +description={non-SI unit of length}} + +% The selected style doesn't display the symbol +% so add it to the post-name hook: +\newcommand*{\glsxtrpostnameunit}{ (\glsentrysymbol{\glscurrententrylabel})} + +% Insert the symbol after commands like \gls but only on first use +% (and only for the "unit" category): + +\newcommand*{\glsxtrpostlinkunit}{% + \ifdefempty\glscustomtext{\glsxtrpostlinkAddSymbolOnFirstUse}{}} +% The above "post-link" hook occurs after the link-text produced by +% \gls so it's place outside the \unitfont argument. + +% Mathematic constants need the "sort" key set because the "name" +% field contains commands: +\newglossaryentry{pi}{name={\ensuremath{\pi}}, +sort=pi, +category=constant, +user1=pi, +description={ratio of a circle's circumference to its diameter}} + +% Insert the description and "user1" text after commands like \gls but only on first use +% (and only for the "constant" category): + +\newcommand*{\glsxtrpostlinkconstant}{% + \ifdefempty\glscustomtext + {\glsxtrifwasfirstuse{ (\glsentryuseri{\glslabel}, + \glsentrydesc{\glslabel})}{}}% + {}} + +% Insert the "user1" text after the description in the glossary +% but only for the "constant" category: +\newcommand*{\glsxtrpostdescconstant}{\space + (\glsentryuseri{\glscurrententrylabel})} + +% \newacronym sets the category to "acronym" by default. The +% "short-em" style makes it a regular entry. +\setabbreviationstyle[acronym]{short-em} + +\newacronym{laser}{laser}{light amplification by +stimulated emission of radiation} + +\newacronym{scuba}{scuba}{self-contained underwater breathing +apparatus} + +% \newabbreviation sets the category to "abbreviation" by default. +% The "long-short-sc" style sets the regular attribute to false. +\setabbreviationstyle{long-short-sc} + +\newabbreviation{html}{html}{hypertext markup language} + +\newabbreviation{svg}{svg}{scalable vector graphics} + +% The optional argument can be used to set a different category: +\setabbreviationstyle[bacteria]{long-em-short-em} +%\setabbreviationstyle[bacteria]{short-em} + +% An alternative approach that uses \bacteriafont in the document +% and in the glossary is to provide a custom style: +%\newabbreviationstyle{bacteria}% +%{% +% \GlsXtrUseAbbrStyleSetup{long-short}% +%}% +%{% +% \GlsXtrUseAbbrStyleFmts{long-short}% +% \renewcommand*{\glsabbrvfont}[1]{\bacteriafont{##1}}% +% \renewcommand*{\glsfirstlongfont}[1]{\bacteriafont{##1}}% +% \renewcommand*{\glslongfont}[1]{\bacteriafont{##1}}% +%} +% (the definition of \bacteriafont would need to be adjusted to +% include \emph) +%\setabbreviationstyle[bacteria]{bacteria} + +\newabbreviation[category=bacteria]% + {cbot}% label + {C.~botulinum}% short + {Clostridium botulinum}% long + +\newabbreviation[category=bacteria]% + {putida}% label + {P.~putida}% short + {Pseudomonas putida}% long + +% Abbreviations that have translations. These put the translated +% text in the "user1" field. The "-user" abbreviation styles +% insert this field (if present) into the parenthetical material +% when used with \gls. + +\setabbreviationstyle[foreign]{short-long-user} + +% The fonts used by this style can be adjusted: +\renewcommand*{\glsabbrvuserfont}[1]{\textsf{\color{red}#1}}% short-form font +\renewcommand*{\glslonguserfont}[1]{\textsf{#1}}% long-form font + +\newabbreviation[category=foreign,user1={French \TeX\ user group}] + {gutenberg}{GUTenburg}{Groupe francophone des utilisateurs de \TeX} + +% Insert the translation (user1) text after the description +% in the glossary but only for the "foreign" category: +\newcommand*{\glsxtrpostdescforeign}{\space + (Translation: \glsentryuseri{\glscurrententrylabel})} + +% Now we have an awkward one that ends with a period: +\setabbreviationstyle[foreignenddot]{short-long-user} + +% Need to discard the end of sentence period for the +% entries in this category. + +\glssetcategoryattribute{foreignenddot}{discardperiod}{true} + +% But not on first use (the user1 text doesn't end with a +% period): +\glssetcategoryattribute{foreignenddot}{retainfirstuseperiod}{true} + +\newabbreviation + [user1={German Speaking \TeX\ User Group},category=foreignenddot] + {dante}{DANTE e.V.}{Deutschsprachige Anwendervereinigung \TeX\ e.V.} + +% Insert the translation (user1) text after the description +% in the glossary but only for the "foreignenddot" category: +\newcommand*{\glsxtrpostdescforeignenddot}{\space + (Translation: \glsentryuseri{\glscurrententrylabel})} + +% Insert page/pages tag before location list: +\GlsXtrEnablePreLocationTag{Page: }{Pages: } + +\begin{document} +\tableofcontents + +\chapter{Samples in the Main Document Text} + +\section{All Entries} + +First use (\verb|\gls|): \forglsentries{\thislabel}{\gls{\thislabel}. } + +Next use (\verb|\gls|): \forglsentries{\thislabel}{\gls{\thislabel}. } + +Using \verb|\glsfirst|: \forglsentries{\thislabel}{\glsfirst{\thislabel}. } + +Using \verb|\glstext|: \forglsentries{\thislabel}{\glstext{\thislabel}. } + +\section{Abbreviations only} +Abbreviations that have the \verb|regular| attribute set are +hybrids and can have odd results. In this example, the hybrid +entries are: +\forglsentries{\thislabel}{% + \ifglshasshort{\thislabel}% + {% is an abbreviation + \glsifregular{\thislabel}% + {% is regular + \texttt{\thislabel}. + }% + {}% + } + {}% +} + +Using \verb|\glsxtrfull|: +\forglsentries{\thislabel}{% + \ifglshasshort{\thislabel}{\glsxtrfull{\thislabel}. }{}} + +Using \verb|\glsxtrshort|: +\forglsentries{\thislabel}{% + \ifglshasshort{\thislabel}{\glsxtrshort{\thislabel}. }{}} + +Using \verb|\glsxtrlong|: +\forglsentries{\thislabel}{% + \ifglshaslong{\thislabel}{\glsxtrlong{\thislabel}. }{}} + +\section{Symbols} + +Using \verb|\glssymbol|: +\forglsentries{\thislabel}{% + \ifglshassymbol{\thislabel}{\glssymbol{\thislabel}. }{}} + +\section{User Field} + +Using \verb|\glsuseri|: +\forglsentries{\thislabel}{% + \ifglshasfield{useri}{\thislabel}{\glsuseri{\thislabel}[.] }{}} + +(The full stop in the above is placed inside square brackets +to prevent the \verb|discardperiod| attribute from discarding it +since the \verb|useri| field doesn't end with a dot.) + +\chapter{Math Mode} +Inline: $\gls{pi} = \frac{C}{d}$, display: + +\[ + \gls{pi} = \frac{C}{d} +\] + +\chapter{Samples in Headings} + +Don't use commands like \verb|\gls| in section headings, but you can +use commands like \verb|\glsfmttext| or \verb|\glsfmtshort|. + +\forglsentries{\thislabel}{% + \ifglshasshort{\thislabel}% + {\section{\glsfmtshort{\thislabel}}}% + {% +% the constant entry "pi" can't be used in the PDF bookmarks, +% so use the user1 text for the bookmark + \glsifcategory{\thislabel}{constant} + {% + \section{\texorpdfstring{\glsfmttext{\thislabel}}{\glsentryuseri{\thislabel}}}% + }% + {% + \section{\glsfmttext{\thislabel}}% + }% + }% + \Glsdesc[noindex]{\thislabel}. +} + + +\renewcommand{\glossarypreamble}{\emph{This glossary uses the style +`\csuse{@glossary@default@style}' with modifications made +through categories and their attributes.}\par\medskip} +\printglossaries + +\end{document} 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 3ed3e9db38a..1f220749904 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-onelink.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-onelink.pdf index 5a0b2c107e9..c0a9a80703e 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 0f157562111..b18a68a2335 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 931611bf4bb..f6ae9c8c0ab 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 26bdd2d7660..2c134f93aa4 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 new file mode 100644 index 00000000000..ff7334038da Binary files /dev/null and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-pages.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-pages.tex b/Master/texmf-dist/doc/latex/glossaries-extra/sample-pages.tex new file mode 100644 index 00000000000..bb1722f9d75 --- /dev/null +++ b/Master/texmf-dist/doc/latex/glossaries-extra/sample-pages.tex @@ -0,0 +1,34 @@ +% arara: pdflatex +% arara: makeglossaries +% arara: pdflatex +% arara: pdflatex +\documentclass{report} + +\usepackage[nopostdot=false]{glossaries-extra} + +\makeglossaries + +\GlsXtrEnablePreLocationTag{Page: }{Pages: } + +\newglossaryentry{sample1}{name={sample1},description={an example}} +\newglossaryentry{sample2}{name={sample2},description={another example}} +\newglossaryentry{sample3}{name={sample3},description={a third example}} + +\newglossaryentry{sample4}{name={sample4},description={a fourth example}} +\glsadd[format=glsignore]{sample4} + +\begin{document} +\chapter{First} + +Two entries: \gls{sample1}, \gls{sample2}. + +\chapter{Second} + +One entry: \gls{sample1}. + +\chapter{Third} + +All entries: \gls{sample1}, \gls{sample2}, \gls{sample3}. + +\printglossaries +\end{document} 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 c99ef34d038..72e1e835085 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 2d576a9c157..395057f732d 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 8866b9f8ae7..613f4987a2d 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-trans.pdf b/Master/texmf-dist/doc/latex/glossaries-extra/sample-trans.pdf new file mode 100644 index 00000000000..27d4e874c3b Binary files /dev/null and b/Master/texmf-dist/doc/latex/glossaries-extra/sample-trans.pdf differ diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/sample-trans.tex b/Master/texmf-dist/doc/latex/glossaries-extra/sample-trans.tex new file mode 100644 index 00000000000..041dc24e48c --- /dev/null +++ b/Master/texmf-dist/doc/latex/glossaries-extra/sample-trans.tex @@ -0,0 +1,54 @@ +% arara: pdflatex +% arara: makeglossaries +% arara: pdflatex +\documentclass{article} + +\usepackage[T1]{fontenc} +\usepackage[colorlinks]{hyperref} +\usepackage[nogroupskip]{glossaries-extra} + +\makeglossaries + +\setabbreviationstyle[acronym]{long-short-user} + +% Translations are stored in the user1 key in the sample file +% (loaded below). +% This is the default for the long-short-user style so +% \glsxtruserfield doesn't need changing, but let's illustrate +% changing the font style for the short form: + +\renewcommand{\glsabbrvuserfont}[1]{\textsc{\MakeLowercase{#1}}} +\renewcommand*{\glsxtrusersuffix}{\glsxtrscsuffix} + +\loadglsentries{example-glossaries-acronyms-lang} + +% The entries in the above file are all defined using +% \newacronym, which automatically sets the category +% to "acronym" (which is why the abbreviation style needs +% to use "acronym" in the optional argument). The glossary +% can be adapted by using the post-description hook for this +% category. + +% \glscurrentfieldvalue only works with glossaries v4.23 (and above) +\renewcommand{\glsxtrpostdescacronym}{% + \ifglshasfield{\glsxtruserfield}{\glscurrententrylabel}% + { (English: \glscurrentfieldvalue)}% + {}% +} + +\begin{document} + +\section{Sample} + +First use: + +\forglsentries{\thislabel}{\gls{\thislabel}. } + +Next use: + +\forglsentries{\thislabel}{\gls{\thislabel}. } + +\printglossaries + +\end{document} + 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 b7deb2b704a..0dd1f2cbf18 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 51318b99765..02dabc8bbdc 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 ac8659003a9..6917c78dfa9 100644 Binary files a/Master/texmf-dist/doc/latex/glossaries-extra/sample.pdf and b/Master/texmf-dist/doc/latex/glossaries-extra/sample.pdf differ diff --git a/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.dtx b/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.dtx index 8935783ee9b..78529390d7a 100644 --- a/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.dtx +++ b/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.dtx @@ -1,14 +1,14 @@ %\iffalse % glossaries-extra.dtx generated using makedtx version 1.1 (c) Nicola Talbot % Command line args: -% -author "Nicola Talbot" % -src "glossaries-extra.sty\Z=>glossaries-extra.sty" % -src "glossaries-extra-stylemods.sty\Z=>glossaries-extra-stylemods.sty" +% -author "Nicola Talbot" % -section "chapter" % -codetitle "Main Package Code (\\styfmt{glossaries-extra.sty})" % -doc "glossaries-extra-codedoc.tex" % glossaries-extra -% Created on 2016/4/27 10:59 +% Created on 2016/5/2 18:05 %\fi %\iffalse %<*package> @@ -117,7 +117,7 @@ governed by the \gloskey{first} and \gloskey{firstplural} keys of \setcounter{IndexColumns}{2} -\CheckSum{7699} +\CheckSum{8698} \newcommand*{\ifirstuse}{\iterm{first use}} \newcommand*{\firstuse}{\gls{firstuse}} @@ -153,13 +153,13 @@ styles (glossaries):>#1={\protect\ttfamily#1}|main}} \raggedright } -\title{glossaries-extra.sty v1.03: +\title{glossaries-extra.sty v1.04: documented code} \author{Nicola L.C. Talbot\\[10pt] Dickimaw Books\\ \url{http://www.dickimaw-books.com/}} -\date{2016-04-27} +\date{2016-05-02} \begin{document} \DocInput{glossaries-extra.dtx} @@ -204,7 +204,7 @@ Dickimaw Books\\ %\section{Package Initialisation and Options} % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossaries-extra}[2016/04/27 v1.03 (NLCT)] +\ProvidesPackage{glossaries-extra}[2016/05/02 v1.04 (NLCT)] % \end{macrocode} % Requires \sty{xkeyval} to define package options. % \begin{macrocode} @@ -602,7 +602,7 @@ Dickimaw Books\\ \PackageError{glossaries-extra}% {Glossaries style package `glossary-\@glsxtr@tmp.sty' doesn't exist (did you mean to use the `style' key?)}% - {The list of values (#1) in the `styles' key should + {The list of values (#1) in the `stylemods' key should match the glossary-xxx.sty files provided with glossaries.sty}% }% @@ -613,6 +613,34 @@ Dickimaw Books\\ % \end{macrocode} %\end{option} % +%\begin{macro}{\@glsxtr@do@style} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\newcommand*{\@glsxtr@do@style}{} +% \end{macrocode} +%\end{macro} +% +%\begin{option}{style} +%\changes{1.04}{2016-05-02}{new} +% Since the \pkgopt{stylemods} option can automatically load extra +% style packages, deal with the \pkgopt{style} option after those +% packages have been loaded. +% \begin{macrocode} +\define@key{glossaries-extra.sty}{style}{% + \renewcommand*{\@glsxtr@do@style}{% +% \end{macrocode} +% Set this as the default style: +% \begin{macrocode} + \setkeys{glossaries.sty}{style={#1}}% +% \end{macrocode} +% Set this style: +% \begin{macrocode} + \setglossarystyle{#1}% + }% +} +% \end{macrocode} +%\end{option} +% % Pass all other options to \sty{glossaries}. % \begin{macrocode} \DeclareOptionX*{% @@ -1248,15 +1276,27 @@ Dickimaw Books\\ % Has the \pkgopt{nonumberlist} option been used? %\changes{0.5.2}{2015-12-08}{added} % \begin{macrocode} - \def\org@glossaryentrynumbers#1{#1\gls@save@numberlist{#1}}% - \ifx\org@glossaryentrynumbers\glossaryentrynumbers - \glsnonumberlistfalse - \renewcommand*{\glossaryentrynumbers}[1]{% - \GlsXtrFormatLocationList{#1}\gls@save@numberlist{#1}}% - \else - \glsnonumberlisttrue - \renewcommand*{\glossaryentrynumbers}[1]{\gls@save@numberlist{#1}}% - \fi +\def\org@glossaryentrynumbers#1{#1\gls@save@numberlist{#1}}% +\ifx\org@glossaryentrynumbers\glossaryentrynumbers + \glsnonumberlistfalse + \renewcommand*{\glossaryentrynumbers}[1]{% + \ifglsentryexists{\glscurrententrylabel}% + {% + \@glsxtrpreloctag + \GlsXtrFormatLocationList{#1}% + \@glsxtrpostloctag + \gls@save@numberlist{#1}% + }{}% + }% +\else + \glsnonumberlisttrue + \renewcommand*{\glossaryentrynumbers}[1]{% + \ifglsentryexists{\glscurrententrylabel}% + {% + \gls@save@numberlist{#1}% + }{}% + }% +\fi % \end{macrocode} %\end{macro} % @@ -1269,6 +1309,116 @@ Dickimaw Books\\ % \end{macrocode} %\end{macro} % +% Sometimes users want to prefix the location list with +% \qt{page}\slash\qt{pages}. The simplest way to determine if the +% location list consists of a single location is to check for +% instances of \cs{delimN} or \cs{delimR}, but this isn't so easy to +% do as they might be embedded inside the argument of formatting +% commands. With a bit of trickery we can find out by adjusting +% \cs{delimN} and \cs{delimR} to set a flag and then save +% information to the auxiliary file for the next run. +%\begin{macro}{\GlsXtrEnablePreLocationTag} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\newcommand*{\GlsXtrEnablePreLocationTag}[2]{% + \let\@glsxtrpreloctag\@@glsxtrpreloctag + \let\@glsxtrpostloctag\@@glsxtrpostloctag + \renewcommand*{\@glsxtr@pagetag}{#1}% + \renewcommand*{\@glsxtr@pagestag}{#2}% + \renewcommand*{\@glsxtr@savepreloctag}[2]{% + \csgdef{@glsxtr@preloctag@##1}{##2}% + }% + \renewcommand*{\@glsxtr@doloctag}{% + \ifcsundef{@glsxtr@preloctag@\glscurrententrylabel}% + {% + \GlossariesWarning{Missing pre-location tag for `\glscurrententrylabel'. + Rerun required}% + }% + {% + \csuse{@glsxtr@preloctag@\glscurrententrylabel}% + }% + }% +} +\@onlypreamble\GlsXtrEnablePreLocationTag +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@glsxtrpreloctag} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\newcommand*{\@@glsxtrpreloctag}{% + \let\@glsxtr@org@delimN\delimN + \let\@glsxtr@org@delimR\delimR + \let\@glsxtr@org@glsignore\glsignore +% \end{macrocode} +% \cs{gdef} is required as the delimiters may occur inside a scope. +% \begin{macrocode} + \gdef\@glsxtr@thisloctag{\@glsxtr@pagetag}% + \renewcommand*{\delimN}{% + \gdef\@glsxtr@thisloctag{\@glsxtr@pagestag}% + \@glsxtr@org@delimN}% + \renewcommand*{\delimR}{% + \gdef\@glsxtr@thisloctag{\@glsxtr@pagestag}% + \@glsxtr@org@delimR}% + \renewcommand*{\glsignore}[1]{% + \gdef\@glsxtr@thisloctag{\relax}% + \@glsxtr@org@glsignore{##1}}% + \@glsxtr@doloctag +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@glsxtrpreloctag} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\newcommand*{\@glsxtrpreloctag}{} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@glsxtr@pagetag} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\newcommand*{\@glsxtr@pagetag}{}% +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@glsxtr@pagestag} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\newcommand*{\@glsxtr@pagestag}{}% +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@@glsxtrpostloctag} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\newcommand*{\@@glsxtrpostloctag}{% + \let\delimN\@glsxtr@org@delimN + \let\delimR\@glsxtr@org@delimR + \let\glsignore\@glsxtr@org@glsignore + \protected@write\@auxout{}% + {\string\@glsxtr@savepreloctag{\glscurrententrylabel}{\@glsxtr@thisloctag}}% +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@glsxtrpostloctag} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\newcommand*{\@glsxtrpostloctag}{} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@glsxtr@preloctag} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\newcommand*{\@glsxtr@savepreloctag}[2]{} +\protected@write\@auxout{}{% + \string\providecommand\string\@glsxtr@savepreloctag[2]{}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@glsxtr@doloctag} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\newcommand*{\@glsxtr@doloctag}{} +% \end{macrocode} +%\end{macro} %\begin{macro}{\KV@printgloss@nonumberlist} % Modify the \gloskey[printglossary]{nonumberlist} key to % use \cs{GlsXtrFormatLocationList} (and also save the number list): @@ -1284,7 +1434,9 @@ Dickimaw Books\\ \def\glossaryentrynumbers##1{\gls@save@numberlist{##1}}% \else \def\glossaryentrynumbers##1{% + \@glsxtrpreloctag \GlsXtrFormatLocationList{##1}% + \@glsxtrpostloctag \gls@save@numberlist{##1}}% \fi }% @@ -1311,12 +1463,24 @@ Dickimaw Books\\ \renewcommand*{\glsentryfmt}{% \ifglshasshort{\glslabel}{\glssetabbrvfmt{\glscategory{\glslabel}}}{}% \glsifregular{\glslabel}% - {\glsgenentryfmt}% - {\ifglshasshort{\glslabel}{\glsxtrgenabbrvfmt}{\glsgenentryfmt}}% + {\glsxtrregularfont{\glsgenentryfmt}}% + {% + \ifglshasshort{\glslabel}% + {\glsxtrgenabbrvfmt}% + {\glsxtrregularfont{\glsgenentryfmt}}% + }% } % \end{macrocode} %\end{macro} % +%\begin{macro}{\glsxtrregularfont} +%\changes{1.04}{2016-05-02}{new} +% Font used for regular entries. +% \begin{macrocode} +\newcommand*{\glsxtrregularfont}[1]{#1} +% \end{macrocode} +%\end{macro} +% % Commands like \cs{glsifplural} are only used by the \cs{gls}-like % commands in the \sty{glossaries} package, but it might be useful % for the postlink hook to know if the user has used, say, @@ -1359,13 +1523,51 @@ Dickimaw Books\\ %\end{macro} % %Redefine the field link commands that need to modify the above. +%Also add accessibility support and set the abbreviation styles if +%required. +%\begin{macro}{\glsxtrassignfieldfont} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\newcommand*{\glsxtrassignfieldfont}[1]{% + \ifglshasshort{#1}% + {% + \glssetabbrvfmt{\glscategory{#1}}% + \glsifregular{#1}% + {\let\@gls@field@font\glsxtrregularfont}% + {\let\@gls@field@font\@firstofone}% + }% + {% + \glsifnotregular{#1}% + {\let\@gls@field@font\@firstofone}% + {\let\@gls@field@font\glsxtrregularfont}% + }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@glstext@} +%\changes{0.5.2}{2015-12-08}{added accessibility support} +%\changes{1.04}{2016-05-02}{set abbreviation and regular format} +% The abbreviation format may also need setting. +% \begin{macrocode} +\def\@glstext@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link{#1}{#2}{\@gls@field@font{\glsaccesstext{#2}#3}}% +} +% \end{macrocode} +%\end{macro} +% %\begin{macro}{\@GLStext@} % All uppercase version of \cs{glstext}. %\changes{0.3}{2015-12-02}{added redefinition} +%\changes{1.04}{2016-05-02}{set abbreviation and regular format} +%\changes{0.5.2}{2015-12-08}{added accessibility support} +% The abbreviation format may also need setting. % \begin{macrocode} \def\@GLStext@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link[\let\glscapscase\@thirdofthree]{#1}{#2}% - {\mfirstucMakeUppercase{\glsentrytext{#2}#3}}% + {\@gls@field@font{\GLSaccesstext{#2}\mfirstucMakeUppercase{#3}}}% } % \end{macrocode} %\end{macro} @@ -1373,10 +1575,14 @@ Dickimaw Books\\ %\begin{macro}{\@Glstext@} % First letter uppercase version. %\changes{0.3}{2015-12-02}{added redefinition} +%\changes{1.04}{2016-05-02}{set abbreviation and regular format} +%\changes{0.5.2}{2015-12-08}{added accessibility support} +% The abbreviation format may also need setting. % \begin{macrocode} \def\@Glstext@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link[\let\glscapscase\@secondofthree]{#1}{#2}% - {\Glsentrytext{#2}#3}% + {\@gls@field@font{\Glsaccesstext{#2}#3}}% } % \end{macrocode} %\end{macro} @@ -1384,10 +1590,14 @@ Dickimaw Books\\ %\begin{macro}{\@glsfirst@} % No case changing version. %\changes{0.3}{2015-12-02}{added redefinition} +%\changes{1.04}{2016-05-02}{set abbreviation and regular format} +%\changes{0.5.2}{2015-12-08}{added accessibility support} +% The abbreviation format may also need setting. % \begin{macrocode} \def\@glsfirst@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link[\let\glsxtrifwasfirstuse\@firstoftwo]{#1}{#2}% - {\glsentryfirst{#2}#3}% + {\@gls@field@font{\glsaccessfirst{#2}#3}}% } % \end{macrocode} %\end{macro} @@ -1395,13 +1605,17 @@ Dickimaw Books\\ %\begin{macro}{\@Glsfirst@} % First letter uppercase version. %\changes{0.3}{2015-12-02}{added redefinition} +%\changes{1.04}{2016-05-02}{set abbreviation and regular format} +%\changes{0.5.2}{2015-12-08}{added accessibility support} +% The abbreviation format may also need setting. % \begin{macrocode} \def\@Glsfirst@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link [\let\glsxtrifwasfirstuse\@firstoftwo \let\glscapscase\@secondofthree ]% - {#1}{#2}{\Glsentryfirst{#2}#3}% + {#1}{#2}{\@gls@field@font{\Glsaccessfirst{#2}#3}}% } % \end{macrocode} %\end{macro} @@ -1409,13 +1623,17 @@ Dickimaw Books\\ %\begin{macro}{\@GLSfirst@} % All uppercase version. %\changes{0.3}{2015-12-02}{added redefinition} +%\changes{1.04}{2016-05-02}{set abbreviation format} +%\changes{0.5.2}{2015-12-08}{added accessibility support} +% The abbreviation format may also need setting. % \begin{macrocode} \def\@GLSfirst@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link [\let\glsxtrifwasfirstuse\@firstoftwo \let\glscapscase\@thirdofthree ]% - {#1}{#2}{\mfirstucMakeUppercase{\glsentryfirst{#2}#3}}% + {#1}{#2}{\@gls@field@font{\GLSaccessfirst{#2}\mfirstucMakeUppercase{#3}}}% } % \end{macrocode} %\end{macro} @@ -1425,10 +1643,14 @@ Dickimaw Books\\ %\changes{0.3}{2015-12-02}{added redefinition} %\changes{1.03}{2016-04-27}{fixed bug \cs{@glsplural@} should be redefined %not \cs{@glsplural}} +%\changes{1.04}{2016-05-02}{set abbreviation and regular format} +%\changes{0.5.2}{2015-12-08}{added accessibility support} +% The abbreviation format may also need setting. % \begin{macrocode} \def\@glsplural@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link[\let\glsifplural\@firstoftwo]{#1}{#2}% - {\glsentryplural{#2}#3}% + {\@gls@field@font{\glsaccessplural{#2}#3}}% } % \end{macrocode} %\end{macro} @@ -1438,13 +1660,17 @@ Dickimaw Books\\ %\changes{0.3}{2015-12-02}{added redefinition} %\changes{1.03}{2016-04-27}{fixed bug \cs{@Glsplural@} should be redefined %not \cs{@Glsplural}} +%\changes{1.04}{2016-05-02}{set abbreviation and regular format} +%\changes{0.5.2}{2015-12-08}{added accessibility support} +% The abbreviation format may also need setting. % \begin{macrocode} \def\@Glsplural@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link [\let\glsifplural\@firstoftwo \let\glscapscase\@secondofthree ]% - {#1}{#2}{\Glsentryplural{#2}#3}% + {#1}{#2}{\@gls@field@font{\Glsaccessplural{#2}#3}}% } % \end{macrocode} %\end{macro} @@ -1454,13 +1680,17 @@ Dickimaw Books\\ %\changes{0.3}{2015-12-02}{added redefinition} %\changes{1.03}{2016-04-27}{fixed bug \cs{@GLSplural@} should be redefined %not \cs{@GLSplural}} +%\changes{1.04}{2016-05-02}{set abbreviation and regular format} +%\changes{0.5.2}{2015-12-08}{added accessibility support} +% The abbreviation format may also need setting. % \begin{macrocode} \def\@GLSplural@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link [\let\glsifplural\@firstoftwo \let\glscapscase\@thirdofthree ]% - {#1}{#2}{\mfirstucMakeUppercase{\glsentryplural{#2}#3}}% + {#1}{#2}{\@gls@field@font{\GLSaccessplural{#2}\mfirstucMakeUppercase{#3}}}% } % \end{macrocode} %\end{macro} @@ -1468,13 +1698,17 @@ Dickimaw Books\\ %\begin{macro}{\@glsfirstplural@} % No case changing version. %\changes{0.3}{2015-12-02}{added redefinition} +%\changes{1.04}{2016-05-02}{set abbreviation and regular format} +%\changes{0.5.2}{2015-12-08}{added accessibility support} +% The abbreviation format may also need setting. % \begin{macrocode} \def\@glsfirstplural@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link [\let\glsxtrifwasfirstuse\@firstoftwo \let\glsifplural\@firstoftwo ]% - {#1}{#2}{\glsentryfirstplural{#2}#3}% + {#1}{#2}{\@gls@field@font{\glsaccessfirstplural{#2}#3}}% } % \end{macrocode} %\end{macro} @@ -1483,14 +1717,18 @@ Dickimaw Books\\ % First letter uppercase version. %\changes{0.3}{2015-12-02}{added redefinition} %\changes{1.03}{2016-04-27}{bug fix: misspelt cs name} +%\changes{1.04}{2016-05-02}{set abbreviation and regular format} +%\changes{0.5.2}{2015-12-08}{added accessibility support} +% The abbreviation format may also need setting. % \begin{macrocode} \def\@Glsfirstplural@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link [\let\glsxtrifwasfirstuse\@firstoftwo \let\glsifplural\@firstoftwo \let\glscapscase\@secondofthree ]% - {#1}{#2}{\Glsentryfirstplural{#2}#3}% + {#1}{#2}{\@gls@field@font{\Glsaccessfirstplural{#2}#3}}% } % \end{macrocode} %\end{macro} @@ -1499,14 +1737,32 @@ Dickimaw Books\\ % All uppercase version. %\changes{0.3}{2015-12-02}{added redefinition} %\changes{1.03}{2016-04-27}{bug fix: misspelt cs name} +%\changes{1.04}{2016-05-02}{set abbreviation and regular format} +%\changes{0.5.2}{2015-12-08}{added accessibility support} +% The abbreviation format may also need setting. % \begin{macrocode} \def\@GLSfirstplural@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link [\let\glsxtrifwasfirstuse\@firstoftwo \let\glsifplural\@firstoftwo \let\glscapscase\@thirdofthree ]% - {#1}{#2}{\mfirstucMakeUppercase{\glsentryfirstplural{#2}#3}}% + {#1}{#2}% + {\@gls@field@font{\GLSaccessfirstplural{#2}\mfirstucMakeUppercase{#3}}}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@glsname@} +% Redefine to use accessibility support. +%\changes{0.5.2}{2015-12-08}{added accessibility support} +%\changes{1.04}{2016-05-02}{set abbreviation and regular format} +% The abbreviation format may also need setting. +% \begin{macrocode} +\def\@glsname@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link{#1}{#2}{\@gls@field@font{\glsaccessname{#2}#3}}% } % \end{macrocode} %\end{macro} @@ -1514,10 +1770,15 @@ Dickimaw Books\\ %\begin{macro}{\@Glsname@} % First letter uppercase version. %\changes{0.3}{2015-12-02}{added redefinition} +%\changes{1.04}{2016-05-02}{set abbreviation and regular format} +%\changes{0.5.2}{2015-12-08}{add accessibility support} +% The abbreviation format may also need setting. % \begin{macrocode} \def\@Glsname@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link - [\let\glscapscase\@secondoftwo]{#1}{#2}{\Glsentryname{#2}#3}% + [\let\glscapscase\@secondoftwo]{#1}{#2}% + {\@gls@field@font{\Glsaccessname{#2}#3}}% } % \end{macrocode} %\end{macro} @@ -1525,10 +1786,26 @@ Dickimaw Books\\ %\begin{macro}{\@GLSname@} % All uppercase version. %\changes{0.3}{2015-12-02}{added redefinition} +%\changes{1.04}{2016-05-02}{set abbreviation and regular format} +%\changes{0.5.2}{2015-12-08}{added accessibility support} +% The abbreviation format may also need setting. % \begin{macrocode} \def\@GLSname@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link[\let\glscapscase\@thirdoftwo]% - {#1}{#2}{\mfirstucMakeUppercase{\glsentryname{#2}#3}}% + {#1}{#2}% + {\@gls@field@font{\GLSaccessname{#2}\mfirstucMakeUppercase{#3}}}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@glsdesc@} +%\changes{0.5.2}{2015-12-08}{added accessibility support} +%\changes{1.04}{2016-05-02}{set abbreviation and regular format} +% \begin{macrocode} +\def\@glsdesc@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link{#1}{#2}{\@gls@field@font{\glsaccessdesc{#2}#3}}% } % \end{macrocode} %\end{macro} @@ -1536,10 +1813,14 @@ Dickimaw Books\\ %\begin{macro}{\@Glsdesc@} % First letter uppercase version. %\changes{0.3}{2015-12-02}{added redefinition} +%\changes{0.5.2}{2015-12-08}{added accessibility support} +%\changes{1.04}{2016-05-02}{set abbreviation and regular format} % \begin{macrocode} \def\@Glsdesc@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link - [\let\glscapscase\@secondoftwo]{#1}{#2}{\Glsentrydesc{#2}#3}% + [\let\glscapscase\@secondoftwo]{#1}{#2}% + {\@gls@field@font{\Glsaccessdesc{#2}#3}}% } % \end{macrocode} %\end{macro} @@ -1547,10 +1828,13 @@ Dickimaw Books\\ %\begin{macro}{\@GLSdesc@} % All uppercase version. %\changes{0.3}{2015-12-02}{added redefinition} +%\changes{0.5.2}{2015-12-08}{added accessibility support} +%\changes{1.04}{2016-05-02}{set abbreviation and regular format} % \begin{macrocode} \def\@GLSdesc@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link[\let\glscapscase\@thirdoftwo]% - {#1}{#2}{\mfirstucMakeUppercase{\glsentrydesc{#2}#3}}% + {#1}{#2}{\@gls@field@font{\GLSaccessdesc{#2}\mfirstucMakeUppercase{#3}}}% } % \end{macrocode} %\end{macro} @@ -1558,12 +1842,15 @@ Dickimaw Books\\ %\begin{macro}{\@glsdescplural@} % No case-changing version. %\changes{0.3}{2015-12-02}{added redefinition} +%\changes{0.5.2}{2015-12-08}{added accessibility support} +%\changes{1.04}{2016-05-02}{set abbreviation and regular format} % \begin{macrocode} \def\@glsdescplural@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link [\let\glscapscase\@secondoftwo \let\glsifplural\@firstoftwo - ]{#1}{#2}{\glsentrydescplural{#2}#3}% + ]{#1}{#2}{\@gls@field@font{\glsaccessdescplural{#2}#3}}% } % \end{macrocode} %\end{macro} @@ -1571,12 +1858,15 @@ Dickimaw Books\\ %\begin{macro}{\@Glsdescplural@} % First letter uppercase version. %\changes{0.3}{2015-12-02}{added redefinition} +%\changes{0.5.2}{2015-12-08}{added accessibility support} +%\changes{1.04}{2016-05-02}{set abbreviation and regular format} % \begin{macrocode} \def\@Glsdescplural@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link [\let\glscapscase\@secondoftwo \let\glsifplural\@firstoftwo - ]{#1}{#2}{\Glsentrydescplural{#2}#3}% + ]{#1}{#2}{\@gls@field@font{\Glsaccessdescplural{#2}#3}}% } % \end{macrocode} %\end{macro} @@ -1584,13 +1874,28 @@ Dickimaw Books\\ %\begin{macro}{\@GLSdescplural@} % All uppercase version. %\changes{0.3}{2015-12-02}{added redefinition} +%\changes{0.5.2}{2015-12-08}{added accessibility support} +%\changes{1.04}{2016-05-02}{set abbreviation and regular format} % \begin{macrocode} \def\@GLSdesc@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link [\let\glscapscase\@thirdoftwo \let\glsifplural\@firstoftwo ]% - {#1}{#2}{\mfirstucMakeUppercase{\glsentrydescplural{#2}#3}}% + {#1}{#2}% + {\@gls@field@font{\GLSaccessdescplural{#2}\mfirstucMakeUppercase{#3}}}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\@glssymbol@} +%\changes{0.5.2}{2015-12-08}{added accessibility support} +%\changes{1.04}{2016-05-02}{set regular format} +% \begin{macrocode} +\def\@glssymbol@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link{#1}{#2}{\@gls@field@font{\glsaccesssymbol{#2}#3}}% } % \end{macrocode} %\end{macro} @@ -1598,10 +1903,14 @@ Dickimaw Books\\ %\begin{macro}{\@Glssymbol@} % First letter uppercase version. %\changes{0.3}{2015-12-02}{added redefinition} +%\changes{0.5.2}{2015-12-08}{added accessibility support} +%\changes{1.04}{2016-05-02}{set regular format} % \begin{macrocode} \def\@Glssymbol@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link - [\let\glscapscase\@secondoftwo]{#1}{#2}{\Glsentrysymbol{#2}#3}% + [\let\glscapscase\@secondoftwo]% + {#1}{#2}{\@gls@field@font{\Glsaccesssymbol{#2}#3}}% } % \end{macrocode} %\end{macro} @@ -1609,10 +1918,13 @@ Dickimaw Books\\ %\begin{macro}{\@GLSsymbol@} % All uppercase version. %\changes{0.3}{2015-12-02}{added redefinition} +%\changes{0.5.2}{2015-12-08}{added accessibility support} +%\changes{1.04}{2016-05-02}{set regular format} % \begin{macrocode} \def\@GLSsymbol@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link[\let\glscapscase\@thirdoftwo]% - {#1}{#2}{\mfirstucMakeUppercase{\glsentrysymbol{#2}#3}}% + {#1}{#2}{\@gls@field@font{\GLSaccesssymbol{#2}\mfirstucMakeUppercase{#3}}}% } % \end{macrocode} %\end{macro} @@ -1620,12 +1932,15 @@ Dickimaw Books\\ %\begin{macro}{\@glssymbolplural@} % No case-changing version. %\changes{0.3}{2015-12-02}{added redefinition} +%\changes{0.5.2}{2015-12-08}{added accessibility support} +%\changes{1.04}{2016-05-02}{set regular format} % \begin{macrocode} \def\@glssymbolplural@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link [\let\glscapscase\@secondoftwo \let\glsifplural\@firstoftwo - ]{#1}{#2}{\glsentrysymbolplural{#2}#3}% + ]{#1}{#2}{\@gls@field@font{\glsaccesssymbolplural{#2}#3}}% } % \end{macrocode} %\end{macro} @@ -1633,12 +1948,15 @@ Dickimaw Books\\ %\begin{macro}{\@Glssymbolplural@} % First letter uppercase version. %\changes{0.3}{2015-12-02}{added redefinition} +%\changes{0.5.2}{2015-12-08}{added accessibility support} +%\changes{1.04}{2016-05-02}{set regular format} % \begin{macrocode} \def\@Glssymbolplural@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link [\let\glscapscase\@secondoftwo \let\glsifplural\@firstoftwo - ]{#1}{#2}{\Glsentrysymbolplural{#2}#3}% + ]{#1}{#2}{\@gls@field@font{\Glsaccesssymbolplural{#2}#3}}% } % \end{macrocode} %\end{macro} @@ -1646,13 +1964,17 @@ Dickimaw Books\\ %\begin{macro}{\@GLSsymbolplural@} % All uppercase version. %\changes{0.3}{2015-12-02}{added redefinition} +%\changes{0.5.2}{2015-12-08}{added accessibility support} +%\changes{1.04}{2016-05-02}{set regular format} % \begin{macrocode} \def\@GLSsymbol@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link [\let\glscapscase\@thirdoftwo \let\glsifplural\@firstoftwo ]% - {#1}{#2}{\mfirstucMakeUppercase{\glsentrysymbolplural{#2}#3}}% + {#1}{#2}% + {\@gls@field@font{\GLSaccesssymbolplural{#2}\mfirstucMakeUppercase{#3}}}% } % \end{macrocode} %\end{macro} @@ -1660,10 +1982,13 @@ Dickimaw Books\\ %\begin{macro}{\@Glsuseri@} % First letter uppercase version. %\changes{0.3}{2015-12-02}{added redefinition} +%\changes{1.04}{2016-05-02}{set regular format} % \begin{macrocode} \def\@Glsuseri@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link - [\let\glscapscase\@secondoftwo]{#1}{#2}{\Glsentryuseri{#2}#3}% + [\let\glscapscase\@secondoftwo]{#1}{#2}% + {\@gls@field@font{\Glsentryuseri{#2}#3}}% } % \end{macrocode} %\end{macro} @@ -1671,10 +1996,12 @@ Dickimaw Books\\ %\begin{macro}{\@GLSuseri@} % All uppercase version. %\changes{0.3}{2015-12-02}{added redefinition} +%\changes{1.04}{2016-05-02}{set regular format} % \begin{macrocode} \def\@GLSuseri@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link[\let\glscapscase\@thirdoftwo]% - {#1}{#2}{\mfirstucMakeUppercase{\glsentryuseri{#2}#3}}% + {#1}{#2}{\@gls@field@font{\mfirstucMakeUppercase{\glsentryuseri{#2}#3}}}% } % \end{macrocode} %\end{macro} @@ -1682,10 +2009,13 @@ Dickimaw Books\\ %\begin{macro}{\@Glsuserii@} % First letter uppercase version. %\changes{0.3}{2015-12-02}{added redefinition} +%\changes{1.04}{2016-05-02}{set regular format} % \begin{macrocode} \def\@Glsuserii@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link - [\let\glscapscase\@secondoftwo]{#1}{#2}{\Glsentryuserii{#2}#3}% + [\let\glscapscase\@secondoftwo]% + {#1}{#2}{\@gls@field@font{\Glsentryuserii{#2}#3}}% } % \end{macrocode} %\end{macro} @@ -1693,10 +2023,12 @@ Dickimaw Books\\ %\begin{macro}{\@GLSuserii@} % All uppercase version. %\changes{0.3}{2015-12-02}{added redefinition} +%\changes{1.04}{2016-05-02}{set regular format} % \begin{macrocode} \def\@GLSuserii@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link[\let\glscapscase\@thirdoftwo]% - {#1}{#2}{\mfirstucMakeUppercase{\glsentryuserii{#2}#3}}% + {#1}{#2}{\@gls@field@font{\mfirstucMakeUppercase{\glsentryuserii{#2}#3}}}% } % \end{macrocode} %\end{macro} @@ -1704,10 +2036,13 @@ Dickimaw Books\\ %\begin{macro}{\@Glsuseriii@} % First letter uppercase version. %\changes{0.3}{2015-12-02}{added redefinition} +%\changes{1.04}{2016-05-02}{set regular format} % \begin{macrocode} \def\@Glsuseriii@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link - [\let\glscapscase\@secondoftwo]{#1}{#2}{\Glsentryuseriii{#2}#3}% + [\let\glscapscase\@secondoftwo]% + {#1}{#2}{\@gls@field@font{\Glsentryuseriii{#2}#3}}% } % \end{macrocode} %\end{macro} @@ -1715,10 +2050,12 @@ Dickimaw Books\\ %\begin{macro}{\@GLSuseriii@} % All uppercase version. %\changes{0.3}{2015-12-02}{added redefinition} +%\changes{1.04}{2016-05-02}{set regular format} % \begin{macrocode} \def\@GLSuseriii@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link[\let\glscapscase\@thirdoftwo]% - {#1}{#2}{\mfirstucMakeUppercase{\glsentryuseriii{#2}#3}}% + {#1}{#2}{\@gls@field@font{\mfirstucMakeUppercase{\glsentryuseriii{#2}#3}}}% } % \end{macrocode} %\end{macro} @@ -1726,10 +2063,13 @@ Dickimaw Books\\ %\begin{macro}{\@Glsuseriv@} % First letter uppercase version. %\changes{0.3}{2015-12-02}{added redefinition} +%\changes{1.04}{2016-05-02}{set regular format} % \begin{macrocode} \def\@Glsuseriv@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link - [\let\glscapscase\@secondoftwo]{#1}{#2}{\Glsentryuseriv{#2}#3}% + [\let\glscapscase\@secondoftwo]% + {#1}{#2}{\@gls@field@font{\Glsentryuseriv{#2}#3}}% } % \end{macrocode} %\end{macro} @@ -1737,10 +2077,13 @@ Dickimaw Books\\ %\begin{macro}{\@GLSuseriv@} % All uppercase version. %\changes{0.3}{2015-12-02}{added redefinition} +%\changes{1.04}{2016-05-02}{set regular format} % \begin{macrocode} \def\@GLSuseriv@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link[\let\glscapscase\@thirdoftwo]% - {#1}{#2}{\mfirstucMakeUppercase{\glsentryuseriv{#2}#3}}% + {#1}{#2}% + {\@gls@field@font{\mfirstucMakeUppercase{\glsentryuseriv{#2}#3}}}% } % \end{macrocode} %\end{macro} @@ -1748,10 +2091,13 @@ Dickimaw Books\\ %\begin{macro}{\@Glsuserv@} % First letter uppercase version. %\changes{0.3}{2015-12-02}{added redefinition} +%\changes{1.04}{2016-05-02}{set regular format} % \begin{macrocode} \def\@Glsuserv@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link - [\let\glscapscase\@secondoftwo]{#1}{#2}{\Glsentryuserv{#2}#3}% + [\let\glscapscase\@secondoftwo]% + {#1}{#2}{\@gls@field@font{\Glsentryuserv{#2}#3}}% } % \end{macrocode} %\end{macro} @@ -1759,10 +2105,12 @@ Dickimaw Books\\ %\begin{macro}{\@GLSuserv@} % All uppercase version. %\changes{0.3}{2015-12-02}{added redefinition} +%\changes{1.04}{2016-05-02}{set regular format} % \begin{macrocode} \def\@GLSuserv@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link[\let\glscapscase\@thirdoftwo]% - {#1}{#2}{\mfirstucMakeUppercase{\glsentryuserv{#2}#3}}% + {#1}{#2}{\@gls@field@font{\mfirstucMakeUppercase{\glsentryuserv{#2}#3}}}% } % \end{macrocode} %\end{macro} @@ -1770,10 +2118,13 @@ Dickimaw Books\\ %\begin{macro}{\@Glsuservi@} % First letter uppercase version. %\changes{0.3}{2015-12-02}{added redefinition} +%\changes{1.04}{2016-05-02}{set regular format} % \begin{macrocode} \def\@Glsuservi@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link - [\let\glscapscase\@secondoftwo]{#1}{#2}{\Glsentryuservi{#2}#3}% + [\let\glscapscase\@secondoftwo]% + {#1}{#2}{\@gls@field@font{\Glsentryuservi{#2}#3}}% } % \end{macrocode} %\end{macro} @@ -1781,10 +2132,12 @@ Dickimaw Books\\ %\begin{macro}{\@GLSuservi@} % All uppercase version. %\changes{0.3}{2015-12-02}{added redefinition} +%\changes{1.04}{2016-05-02}{set regular format} % \begin{macrocode} \def\@GLSuservi@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link[\let\glscapscase\@thirdoftwo]% - {#1}{#2}{\mfirstucMakeUppercase{\glsentryuservi{#2}#3}}% + {#1}{#2}{\@gls@field@font{\mfirstucMakeUppercase{\glsentryuservi{#2}#3}}}% } % \end{macrocode} %\end{macro} @@ -2614,7 +2967,7 @@ Dickimaw Books\\ %\changes{0.5.4}{2015-12-15}{new} % \begin{macrocode} \def\@GLSxtr@p@long@#1#2[#3]{% - {\mfirstucMakeUppercase{\glsentrylong{#2}#3}}} + {\mfirstucMakeUppercase{\glslongfont{\glsentrylong{#2}}#3}}} % \end{macrocode} %\end{macro} % @@ -2628,7 +2981,7 @@ Dickimaw Books\\ %\begin{macro}{\@Glsxtr@p@longpl@} %\changes{0.5.4}{2015-12-15}{new} % \begin{macrocode} -\def\@Glsxtr@p@longpl@#1#2[#3]{{\Glsentrylongpl{#2}#3}} +\def\@Glsxtr@p@longpl@#1#2[#3]{{\glslongfont{\Glsentrylongpl{#2}}#3}} % \end{macrocode} %\end{macro} % @@ -2636,7 +2989,7 @@ Dickimaw Books\\ %\changes{0.5.4}{2015-12-15}{new} % \begin{macrocode} \def\@GLSxtr@p@longpl@#1#2[#3]{% - {\mfirstucMakeUppercase{\glsentrylongpl{#2}#3}}} + {\mfirstucMakeUppercase{\glslongfont{\glsentrylongpl{#2}}#3}}} % \end{macrocode} %\end{macro} % @@ -3755,7 +4108,7 @@ Dickimaw Books\\ %First we need a list of the glossaries that require %\gls{makeindex}\slash\gls{xindy}. %\begin{macro}{\@glsxtr@reg@glosslist} -%\changes{0.5.5}{??}{new} +%\changes{1.0}{2016-01-24}{new} % \begin{macrocode} \newcommand*{\@glsxtr@reg@glosslist}{} % \end{macrocode} @@ -3771,7 +4124,7 @@ Dickimaw Books\\ % list of glossary labels indicating those glossaries that should be % processed with an indexing application. %\begin{macro}{\makeglossaries} -%\changes{0.5.5}{??}{new} +%\changes{1.0}{2016-01-24}{new} % \begin{macrocode} \renewcommand*{\makeglossaries}[1][]{% \ifblank{#1}% @@ -3914,7 +4267,7 @@ want % % Display number list for the regular version: %\begin{macro}{\@glsxtr@idx@displaynumberlist} -%\changes{0.5.5}{??}{new} +%\changes{1.0}{2016-01-24}{new} % \begin{macrocode} \let\@glsxtr@idx@displaynumberlist\glsdisplaynumberlist % \end{macrocode} @@ -3922,7 +4275,7 @@ want % % Display number list for the \qt{noidx} version: %\begin{macro}{\@glsxtr@noidx@displaynumberlist} -%\changes{0.5.5}{??}{new} +%\changes{1.0}{2016-01-24}{new} % \begin{macrocode} \newcommand*{\@glsxtr@noidx@displaynumberlist}[1]{% \letcs{\@gls@loclist}{glo@\glsdetoklabel{#1}@loclist}% @@ -3955,7 +4308,7 @@ want %\end{macro} %And for the number list loop: %\begin{macro}{\@glsxtr@noidx@numberlistloop} -%\changes{0.5.5}{??}{new} +%\changes{1.0}{2016-01-24}{new} % \begin{macrocode} \newcommand*{\@glsxtr@noidx@numberlistloop}[3]{% \letcs{\@gls@loclist}{glo@\glsdetoklabel{#1}@loclist}% @@ -3982,7 +4335,7 @@ want % %Same for entry number list. %\begin{macro}{\@glsxtr@noidx@entrynumberlist} -%\changes{0.5.5}{??}{new} +%\changes{1.0}{2016-01-24}{new} % \begin{macrocode} \newcommand*{\@glsxtr@noidx@entrynumberlist}[1]{% \letcs{\@gls@loclist}{glo@\glsdetoklabel{#1}@loclist}% @@ -4002,9 +4355,10 @@ want %\end{macro} % %\begin{macro}{\@glsxtr@idx@entrynumberlist} -%\changes{0.5.5}{??}{new} +%\changes{1.0}{2016-01-24}{new} +%\changes{1.04}{2016-05-02}{switched from \cs{let} to \cs{newcommand}} % \begin{macrocode} -\let\@glsxtr@idx@entrynumberlist\glsentrynumberlist +\newcommand*{\@glsxtr@idx@entrynumberlist}[1]{\glsentrynumberlist{#1}} % \end{macrocode} %\end{macro} % @@ -4137,7 +4491,7 @@ want \begin{itemize} \item Run the external (Lua) application: - \texttt{makeglossaries-lite \string"\jobname\string"} + \texttt{makeglossaries-lite.lua \string"\jobname\string"} \item Run the external (Perl) application: @@ -4182,7 +4536,7 @@ want \item Run the external (Lua) application: - \texttt{makeglossaries-lite \string"\jobname\string"} + \texttt{makeglossaries-lite.lua \string"\jobname\string"} \item Run the external (Perl) application: @@ -4307,16 +4661,6 @@ want % \end{macrocode} %\end{macro} % -%\begin{macro}{\@glsname@} -% Redefine to use accessibility support. -%\changes{0.5.2}{2015-12-08}{added} -% \begin{macrocode} -\def\@glsname@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\glsaccessname{#2}#3}% -} -% \end{macrocode} -%\end{macro} -% %\begin{macro}{\Glsaccessname} % Display the \gloskey{name} value (no link and no check for existence) % with the first letter converted to upper case. @@ -4332,16 +4676,6 @@ want % \end{macrocode} %\end{macro} % -%\begin{macro}{\@Glsname@} -% Redefine to use accessibility support. -%\changes{0.5.2}{2015-12-08}{added} -% \begin{macrocode} -\def\@Glsname@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\Glsaccessname{#2}#3}% -} -% \end{macrocode} -%\end{macro} -% %\begin{macro}{\GLSaccessname} % Display the \gloskey{name} value (no link and no check for existence) % converted to upper case. @@ -4357,16 +4691,6 @@ want % \end{macrocode} %\end{macro} % -%\begin{macro}{\@GLSname@} -% Redefine to use accessibility support. -%\changes{0.5.2}{2015-12-08}{added} -% \begin{macrocode} -\def\@GLSname@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\GLSaccessname{#2}#3}% -} -% \end{macrocode} -%\end{macro} -% %\begin{macro}{\glsaccesstext} % Display the \gloskey{text} value (no link and no check for existence). %\changes{0.3}{2015-12-02}{new} @@ -4381,16 +4705,6 @@ want % \end{macrocode} %\end{macro} % -%\begin{macro}{\@glstext@} -% Redefine to use accessibility support. -%\changes{0.5.2}{2015-12-08}{added} -% \begin{macrocode} -\def\@glstext@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\glsaccesstext{#2}#3}% -} -% \end{macrocode} -%\end{macro} -% %\begin{macro}{\Glsaccesstext} % Display the \gloskey{text} value (no link and no check for existence) % with the first letter converted to upper case. @@ -4406,16 +4720,6 @@ want % \end{macrocode} %\end{macro} % -%\begin{macro}{\@Glstext@} -% Redefine to use accessibility support. -%\changes{0.5.2}{2015-12-08}{added} -% \begin{macrocode} -\def\@Glstext@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\Glsaccesstext{#2}#3}% -} -% \end{macrocode} -%\end{macro} -% %\begin{macro}{\GLSaccesstext} % Display the \gloskey{text} value (no link and no check for existence) % converted to upper case. @@ -4431,16 +4735,6 @@ want % \end{macrocode} %\end{macro} % -%\begin{macro}{\@GLStext@} -% Redefine to use accessibility support. -%\changes{0.5.2}{2015-12-08}{added} -% \begin{macrocode} -\def\@GLStext@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\GLSaccesstext{#2}#3}% -} -% \end{macrocode} -%\end{macro} -% %\begin{macro}{\glsaccessplural} % Display the \gloskey{plural} value (no link and no check for existence). %\changes{0.3}{2015-12-02}{new} @@ -4455,16 +4749,6 @@ want % \end{macrocode} %\end{macro} % -%\begin{macro}{\@glsplural@} -% Redefine to use accessibility support. -%\changes{0.5.2}{2015-12-08}{added} -% \begin{macrocode} -\def\@glsplural@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\glsaccessplural{#2}#3}% -} -% \end{macrocode} -%\end{macro} -% %\begin{macro}{\Glsaccessplural} % Display the \gloskey{plural} value (no link and no check for existence) % with the first letter converted to upper case. @@ -4480,16 +4764,6 @@ want % \end{macrocode} %\end{macro} % -%\begin{macro}{\@Glsplural@} -% Redefine to use accessibility support. -%\changes{0.5.2}{2015-12-08}{added} -% \begin{macrocode} -\def\@glsplural@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\Glsaccessplural{#2}#3}% -} -% \end{macrocode} -%\end{macro} -% %\begin{macro}{\GLSaccessplural} % Display the \gloskey{plural} value (no link and no check for existence) % converted to upper case. @@ -4505,16 +4779,6 @@ want % \end{macrocode} %\end{macro} % -%\begin{macro}{\@GLSplural@} -% Redefine to use accessibility support. -%\changes{0.5.2}{2015-12-08}{added} -% \begin{macrocode} -\def\@GLSplural@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\GLSaccessplural{#2}#3}% -} -% \end{macrocode} -%\end{macro} -% %\begin{macro}{\glsaccessfirst} % Display the \gloskey{first} value (no link and no check for existence). %\changes{0.3}{2015-12-02}{new} @@ -4529,16 +4793,6 @@ want % \end{macrocode} %\end{macro} % -%\begin{macro}{\@glsfirst@} -% Redefine to use accessibility support. -%\changes{0.5.2}{2015-12-08}{added} -% \begin{macrocode} -\def\@glsfirst@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\glsaccessfirst{#2}#3}% -} -% \end{macrocode} -%\end{macro} -% %\begin{macro}{\Glsaccessfirst} % Display the \gloskey{first} value (no link and no check for existence) % with the first letter converted to upper case. @@ -4554,16 +4808,6 @@ want % \end{macrocode} %\end{macro} % -%\begin{macro}{\@Glsfirst@} -% Redefine to use accessibility support. -%\changes{0.5.2}{2015-12-08}{added} -% \begin{macrocode} -\def\@Glsfirst@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\Glsaccessfirst{#2}#3}% -} -% \end{macrocode} -%\end{macro} -% %\begin{macro}{\GLSaccessfirst} % Display the \gloskey{first} value (no link and no check for existence) % converted to upper case. @@ -4579,16 +4823,6 @@ want % \end{macrocode} %\end{macro} % -%\begin{macro}{\@GLSfirst@} -% Redefine to use accessibility support. -%\changes{0.5.2}{2015-12-08}{added} -% \begin{macrocode} -\def\@GLSfirst@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\GLSaccessfirst{#2}#3}% -} -% \end{macrocode} -%\end{macro} -% %\begin{macro}{\glsaccessfirstplural} % Display the \gloskey{firstplural} value (no link and no check for existence). %\changes{0.3}{2015-12-02}{new} @@ -4603,16 +4837,6 @@ want % \end{macrocode} %\end{macro} % -%\begin{macro}{\@glsfirstplural@} -% Redefine to use accessibility support. -%\changes{0.5.2}{2015-12-08}{added} -% \begin{macrocode} -\def\@glsfirstplural@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\glsaccessfirstplural{#2}#3}% -} -% \end{macrocode} -%\end{macro} -% %\begin{macro}{\Glsaccessfirstplural} % Display the \gloskey{firstplural} value (no link and no check for existence) % with the first letter converted to upper case. @@ -4628,16 +4852,6 @@ want % \end{macrocode} %\end{macro} % -%\begin{macro}{\@Glsfirstplural@} -% Redefine to use accessibility support. -%\changes{0.5.2}{2015-12-08}{added} -% \begin{macrocode} -\def\@Glsfirstplural@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\Glsaccessfirstplural{#2}#3}% -} -% \end{macrocode} -%\end{macro} -% %\begin{macro}{\GLSaccessfirstplural} % Display the \gloskey{firstplural} value (no link and no check for existence) % converted to upper case. @@ -4653,16 +4867,6 @@ want % \end{macrocode} %\end{macro} % -%\begin{macro}{\@GLSfirstplural@} -% Redefine to use accessibility support. -%\changes{0.5.2}{2015-12-08}{added} -% \begin{macrocode} -\def\@GLSfirstplural@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\GLSaccessfirstplural{#2}#3}% -} -% \end{macrocode} -%\end{macro} -% %\begin{macro}{\glsaccesssymbol} % Display the \gloskey{symbol} value (no link and no check for existence). %\changes{0.3}{2015-12-02}{new} @@ -4677,16 +4881,6 @@ want % \end{macrocode} %\end{macro} % -%\begin{macro}{\@glssymbol@} -% Redefine to use accessibility support. -%\changes{0.5.2}{2015-12-08}{added} -% \begin{macrocode} -\def\@glssymbol@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\glsaccesssymbol{#2}#3}% -} -% \end{macrocode} -%\end{macro} -% %\begin{macro}{\Glsaccesssymbol} % Display the \gloskey{symbol} value (no link and no check for existence) % with the first letter converted to upper case. @@ -4702,16 +4896,6 @@ want % \end{macrocode} %\end{macro} % -%\begin{macro}{\@Glssymbol@} -% Redefine to use accessibility support. -%\changes{0.5.2}{2015-12-08}{added} -% \begin{macrocode} -\def\@Glssymbol@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\Glsaccesssymbol{#2}#3}% -} -% \end{macrocode} -%\end{macro} -% %\begin{macro}{\GLSaccesssymbol} % Display the \gloskey{symbol} value (no link and no check for existence) % converted to upper case. @@ -4727,16 +4911,6 @@ want % \end{macrocode} %\end{macro} % -%\begin{macro}{\@GLSsymbol@} -% Redefine to use accessibility support. -%\changes{0.5.2}{2015-12-08}{added} -% \begin{macrocode} -\def\@GLSsymbol@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\GLSaccesssymbol{#2}#3}% -} -% \end{macrocode} -%\end{macro} -% %\begin{macro}{\glsaccesssymbolplural} % Display the \gloskey{symbolplural} value (no link and no check for existence). %\changes{0.3}{2015-12-02}{new} @@ -4751,16 +4925,6 @@ want % \end{macrocode} %\end{macro} % -%\begin{macro}{\@glssymbolplural@} -% Redefine to use accessibility support. -%\changes{0.5.2}{2015-12-08}{added} -% \begin{macrocode} -\def\@glssymbolplural@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\glsaccesssymbolplural{#2}#3}% -} -% \end{macrocode} -%\end{macro} -% %\begin{macro}{\Glsaccesssymbolplural} % Display the \gloskey{symbolplural} value (no link and no check for existence) % with the first letter converted to upper case. @@ -4776,16 +4940,6 @@ want % \end{macrocode} %\end{macro} % -%\begin{macro}{\@Glssymbolplural@} -% Redefine to use accessibility support. -%\changes{0.5.2}{2015-12-08}{added} -% \begin{macrocode} -\def\@Glssymbolplural@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\Glsaccesssymbolplural{#2}#3}% -} -% \end{macrocode} -%\end{macro} -% %\begin{macro}{\GLSaccesssymbolplural} % Display the \gloskey{symbolplural} value (no link and no check for existence) % converted to upper case. @@ -4801,16 +4955,6 @@ want % \end{macrocode} %\end{macro} % -%\begin{macro}{\@GLSsymbolplural@} -% Redefine to use accessibility support. -%\changes{0.5.2}{2015-12-08}{added} -% \begin{macrocode} -\def\@GLSsymbolplural@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\GLSaccesssymbolplural{#2}#3}% -} -% \end{macrocode} -%\end{macro} -% %\begin{macro}{\glsaccessdesc} % Display the \gloskey{desc} value (no link and no check for existence). %\changes{0.3}{2015-12-02}{new} @@ -4825,16 +4969,6 @@ want % \end{macrocode} %\end{macro} % -%\begin{macro}{\@glsdesc@} -% Redefine to use accessibility support. -%\changes{0.5.2}{2015-12-08}{added} -% \begin{macrocode} -\def\@glsdesc@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\glsaccessdesc{#2}#3}% -} -% \end{macrocode} -%\end{macro} -% %\begin{macro}{\Glsaccessdesc} % Display the \gloskey{desc} value (no link and no check for existence) % with the first letter converted to upper case. @@ -4850,16 +4984,6 @@ want % \end{macrocode} %\end{macro} % -%\begin{macro}{\@Glsdesc@} -% Redefine to use accessibility support. -%\changes{0.5.2}{2015-12-08}{added} -% \begin{macrocode} -\def\@Glsdesc@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\Glsaccessdesc{#2}#3}% -} -% \end{macrocode} -%\end{macro} -% %\begin{macro}{\GLSaccessdesc} % Display the \gloskey{desc} value (no link and no check for existence) % converted to upper case. @@ -4875,16 +4999,6 @@ want % \end{macrocode} %\end{macro} % -%\begin{macro}{\@GLSdesc@} -% Redefine to use accessibility support. -%\changes{0.5.2}{2015-12-08}{added} -% \begin{macrocode} -\def\@GLSdesc@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\GLSaccessdesc{#2}#3}% -} -% \end{macrocode} -%\end{macro} -% %\begin{macro}{\glsaccessdescplural} % Display the \gloskey{descplural} value (no link and no check for existence). %\changes{0.3}{2015-12-02}{new} @@ -4899,16 +5013,6 @@ want % \end{macrocode} %\end{macro} % -%\begin{macro}{\@glsdescplural@} -% Redefine to use accessibility support. -%\changes{0.5.2}{2015-12-08}{added} -% \begin{macrocode} -\def\@glsdescplural@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\glsaccessdescplural{#2}#3}% -} -% \end{macrocode} -%\end{macro} -% %\begin{macro}{\Glsaccessdescplural} % Display the \gloskey{descplural} value (no link and no check for existence) % with the first letter converted to upper case. @@ -4924,16 +5028,6 @@ want % \end{macrocode} %\end{macro} % -%\begin{macro}{\@Glsdescplural@} -% Redefine to use accessibility support. -%\changes{0.5.2}{2015-12-08}{added} -% \begin{macrocode} -\def\@Glsdescplural@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\Glsaccessdescplural{#2}#3}% -} -% \end{macrocode} -%\end{macro} -% %\begin{macro}{\GLSaccessdescplural} % Display the \gloskey{descplural} value (no link and no check for existence) % converted to upper case. @@ -4949,16 +5043,6 @@ want % \end{macrocode} %\end{macro} % -%\begin{macro}{\@GLSdescplural@} -% Redefine to use accessibility support. -%\changes{0.5.2}{2015-12-08}{added} -% \begin{macrocode} -\def\@GLSdescplural@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\GLSaccessdescplural{#2}#3}% -} -% \end{macrocode} -%\end{macro} -% %\begin{macro}{\glsaccessshort} % Display the short form (no link and no check for existence). %\changes{0.3}{2015-12-02}{new} @@ -5612,7 +5696,8 @@ want %\begin{definition} %\cs{glsifregularcategory}\marg{category}\marg{true part}\marg{false part} %\end{definition} -% Short cut to determine if a category has the regular attribute. +% Short cut to determine if a category has the regular attribute +% explicitly set to true. % \begin{macrocode} \newcommand{\glsifregularcategory}[3]{% \glsifcategoryattribute{#1}{regular}{true}{#2}{#3}% @@ -5620,11 +5705,26 @@ want % \end{macrocode} %\end{macro} % +%\begin{macro}{\glsifnotregularcategory} +%\begin{definition} +%\cs{glsifnotregularcategory}\marg{category}\marg{true part}\marg{false part} +%\end{definition} +% Short cut to determine if a category has the regular attribute +% explicitly set to false. +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\newcommand{\glsifnotregularcategory}[3]{% + \glsifcategoryattribute{#1}{regular}{false}{#2}{#3}% +} +% \end{macrocode} +%\end{macro} +% %\begin{macro}{\glsifregular} %\begin{definition} %\cs{glsifregular}\marg{entry label}\marg{true part}\marg{false part} %\end{definition} -% Short cut to determine if an entry has a regular category. +% Short cut to determine if an entry has a regular attribute set to +% true. % \begin{macrocode} \newcommand{\glsifregular}[3]{% \glsifregularcategory{\glscategory{#1}}{#2}{#3}% @@ -5632,6 +5732,19 @@ want % \end{macrocode} %\end{macro} % +%\begin{macro}{\glsifnotregular} +%\begin{definition} +%\cs{glsifnotregular}\marg{entry label}\marg{true part}\marg{false part} +%\end{definition} +% Short cut to determine if an entry has a regular attribute set to +% false. +% \begin{macrocode} +\newcommand{\glsifnotregular}[3]{% + \glsifnotregularcategory{\glscategory{#1}}{#2}{#3}% +} +% \end{macrocode} +%\end{macro} +% %\begin{macro}{\glsforeachincategory} %\begin{definition} %\cs{glsforeachincategory}\oarg{glossary @@ -5828,9 +5941,29 @@ want \glsdoifexistsorwarn{#1}% {% \glssetabbrvfmt{\glscategory{#1}}% +% \end{macrocode} +% As from version 1.04, allow the \catattr{glossdescfont} attribute +% to determine the font applied. +%\changes{1.04}{2016-05-02}{added glossdescfont attribute check} +% \begin{macrocode} + \glshasattribute{#1}{glossdescfont}% + {% + \edef\@glsxtr@attrval{\glsgetattribute{#1}{glossdescfont}}% + \ifcsdef{\@glsxtr@attrval}% + {% + \letcs{\@glsxtr@glossdescfont}{\@glsxtr@attrval}% + }% + {% + \GlossariesExtraWarning{Unknown control sequence name + `\@glsxtr@attrval' supplied in glossdescfont attribute + for entry `#1'. Ignoring}% + \let\@glsxtr@glossdescfont\@firstofone + }% + }% + {\let\@glsxtr@glossdescfont\@firstofone}% \glsifattribute{#1}{glossdesc}{firstuc}% {% - \Glsaccessdesc{#1}% + \@glsxtr@glossdescfont{\Glsaccessdesc{#1}}% }% {% \glsifattribute{#1}{glossdesc}{title}% @@ -5838,12 +5971,12 @@ want \@glsxtr@do@titlecaps@warn \glsdescriptionaccessdisplay {% - \glsxtrfieldtitlecase{#1}{desc}% + \@glsxtr@glossdescfont{\glsxtrfieldtitlecase{#1}{desc}}% }% {#1}% }% {% - \glsaccessdesc{#1}% + \@glsxtr@glossdescfont{\glsaccessdesc{#1}}% }% }% }% @@ -5854,18 +5987,33 @@ want \glsdoifexistsorwarn{#1}% {% \glssetabbrvfmt{\glscategory{#1}}% + \glshasattribute{#1}{glossdescfont}% + {% + \edef\@glsxtr@attrval{\glsgetattribute{#1}{glossdescfont}}% + \ifcsdef{\@glsxtr@attrval}% + {% + \letcs{\@glsxtr@glossdescfont}{\@glsxtr@attrval}% + }% + {% + \GlossariesExtraWarning{Unknown control sequence name + `\@glsxtr@attrval' supplied in glossdescfont attribute + for entry `#1'. Ignoring}% + \let\@glsxtr@glossdescfont\@firstofone + }% + }% + {\let\@glsxtr@glossdescfont\@firstofone}% \glsifattribute{#1}{glossdesc}{firstuc}% {% - \Glsentrydesc{#1}% + \@glsxtr@glossdescfont{\Glsentrydesc{#1}}% }% {% \glsifattribute{#1}{glossdesc}{title}% {% \@glsxtr@do@titlecaps@warn - \glsxtrfieldtitlecase{#1}{desc}% + \@glsxtr@glossdescfont{\glsxtrfieldtitlecase{#1}{desc}}% }% {% - \glsentrydesc{#1}% + \@glsxtr@glossdescfont{\glsentrydesc{#1}}% }% }% }% @@ -5885,11 +6033,31 @@ want \glsdoifexistsorwarn{#1}% {% \glssetabbrvfmt{\glscategory{#1}}% +% \end{macrocode} +% As from version 1.04, allow the \catattr{glossnamefont} attribute +% to determine the font applied. +%\changes{1.04}{2016-05-02}{added glossnamefont attribute check} +% \begin{macrocode} + \glshasattribute{#1}{glossnamefont}% + {% + \edef\@glsxtr@attrval{\glsgetattribute{#1}{glossnamefont}}% + \ifcsdef{\@glsxtr@attrval}% + {% + \letcs{\@glsxtr@glossnamefont}{\@glsxtr@attrval}% + }% + {% + \GlossariesExtraWarning{Unknown control sequence name + `\@glsxtr@attrval' supplied in glossnamefont attribute + for entry `#1'. Reverting to default \string\glsnamefont}% + \let\@glsxtr@glossnamefont\glsnamefont + }% + }% + {\let\@glsxtr@glossnamefont\glsnamefont}% \glsifattribute{#1}{glossname}{firstuc}% {% \glsnameaccessdisplay {% - \glsnamefont{\Glsentryname{#1}}% + \@glsxtr@glossnamefont{\Glsentryname{#1}}% }% {#1}% }% @@ -5899,7 +6067,7 @@ want \@glsxtr@do@titlecaps@warn \glsnameaccessdisplay {% - \glsnamefont{\glsxtrfieldtitlecase{#1}{name}}% + \@glsxtr@glossnamefont{\glsxtrfieldtitlecase{#1}{name}}% }% {#1}% }% @@ -5912,7 +6080,7 @@ want % Hide the label from the upper-casing command. % \begin{macrocode} \letcs{\glo@name}{glo@\glsdetoklabel{#1}@name}% - \glsnamefont{\mfirstucMakeUppercase{\glo@name}}% + \@glsxtr@glossnamefont{\mfirstucMakeUppercase{\glo@name}}% }% {#1}% }% @@ -5920,7 +6088,7 @@ want \letcs{\glo@name}{glo@\glsdetoklabel{#1}@name}% \glsnameaccessdisplay {% - \expandafter\glsnamefont\expandafter{\glo@name}% + \expandafter\@glsxtr@glossnamefont\expandafter{\glo@name}% }% {#1}% }% @@ -5938,15 +6106,30 @@ want \glsdoifexistsorwarn{#1}% {% \glssetabbrvfmt{\glscategory{#1}}% + \glshasattribute{#1}{glossnamefont}% + {% + \edef\@glsxtr@attrval{\glsgetattribute{#1}{glossnamefont}}% + \ifcsdef{\@glsxtr@attrval}% + {% + \letcs{\@glsxtr@glossnamefont}{\@glsxtr@attrval}% + }% + {% + \GlossariesExtraWarning{Unknown control sequence name + `\@glsxtr@attrval' supplied in glossnamefont attribute + for entry `#1'. Reverting to default \string\glsnamefont}% + \let\@glsxtr@glossnamefont\glsnamefont + }% + }% + {\let\@glsxtr@glossnamefont\glsnamefont}% \glsifattribute{#1}{glossname}{firstuc}% {% - \glsnamefont{\Glsentryname{#1}}% + \@glsxtr@glossnamefont{\Glsentryname{#1}}% }% {% \glsifattribute{#1}{glossname}{title}% {% \@glsxtr@do@titlecaps@warn - \glsnamefont{\glsxtrfieldtitlecase{#1}{name}}% + \@glsxtr@glossnamefont{\glsxtrfieldtitlecase{#1}{name}}% }% {% \glsifattribute{#1}{glossname}{uc}% @@ -5955,7 +6138,7 @@ want % Hide the label from the upper-casing command. % \begin{macrocode} \letcs{\glo@name}{glo@\glsdetoklabel{#1}@name}% - \glsnamefont{\mfirstucMakeUppercase{\glo@name}}% + \@glsxtr@glossnamefont{\mfirstucMakeUppercase{\glo@name}}% }% {% % \end{macrocode} @@ -5964,15 +6147,16 @@ want % even though they can now use the \catattr{firstuc} attribute. % \begin{macrocode} \letcs{\glo@name}{glo@\glsdetoklabel{#1}@name}% - \expandafter\glsnamefont\expandafter{\glo@name}% + \expandafter\@glsxtr@glossnamefont\expandafter{\glo@name}% }% }% }% - }% % \end{macrocode} -% Do post-name hook: +% Do post-name hook. +%\changes{1.04}{2016-05-02}{moved post name hook inside condition} % \begin{macrocode} - \glsxtrpostnamehook{#1}% + \glsxtrpostnamehook{#1}% + }% } } % \end{macrocode} @@ -5988,9 +6172,29 @@ want \glsdoifexistsorwarn{#1}% {% \glssetabbrvfmt{\glscategory{#1}}% +% \end{macrocode} +% As from version 1.04, allow the \catattr{glossnamefont} attribute +% to determine the font applied. +%\changes{1.04}{2016-05-02}{added glossnamefont attribute check} +% \begin{macrocode} + \glshasattribute{#1}{glossnamefont}% + {% + \edef\@glsxtr@attrval{\glsgetattribute{#1}{glossnamefont}}% + \ifcsdef{\@glsxtr@attrval}% + {% + \letcs{\@glsxtr@glossnamefont}{\@glsxtr@attrval}% + }% + {% + \GlossariesExtraWarning{Unknown control sequence name + `\@glsxtr@attrval' supplied in glossnamefont attribute + for entry `#1'. Reverting to default \string\glsnamefont}% + \let\@glsxtr@glossnamefont\glsnamefont + }% + }% + {\let\@glsxtr@glossnamefont\glsnamefont}% \glsnameaccessdisplay {% - \glsnamefont{\Glsentryname{#1}}% + \@glsxtr@glossnamefont{\Glsentryname{#1}}% }% {#1}% % \end{macrocode} @@ -6005,7 +6209,22 @@ want \glsdoifexistsorwarn{#1}% {% \glssetabbrvfmt{\glscategory{#1}}% - \glsnamefont{\Glsentryname{#1}}% + \glshasattribute{#1}{glossnamefont}% + {% + \edef\@glsxtr@attrval{\glsgetattribute{#1}{glossnamefont}}% + \ifcsdef{\@glsxtr@attrval}% + {% + \letcs{\@glsxtr@glossnamefont}{\@glsxtr@attrval}% + }% + {% + \GlossariesExtraWarning{Unknown control sequence name + `\@glsxtr@attrval' supplied in glossnamefont attribute + for entry `#1'. Reverting to default \string\glsnamefont}% + \let\@glsxtr@glossnamefont\glsnamefont + }% + }% + {\let\@glsxtr@glossnamefont\glsnamefont}% + \@glsxtr@glossnamefont{\Glsentryname{#1}}% % \end{macrocode} % Do post-name hook: % \begin{macrocode} @@ -6028,6 +6247,11 @@ want \newcommand*{\glsxtrpostnamehook}[1]{% \def\@glsnumberformat{glsnumberformat}% \glsxtrdoautoindexname{#1}{indexname}% +% \end{macrocode} +% Allow categories to hook in here. +%\changes{1.04}{2016-05-02}{added category check} +% \begin{macrocode} + \csuse{glsxtrpostname\glscategory{\glscurrententrylabel}}% } % \end{macrocode} %\end{macro} @@ -6510,7 +6734,10 @@ want %\begin{macro}{\@gls@preglossaryhook} % This macro was introduced in \sty{glossaries} version 4.19, so it % may not be defined. If it hasn't been defined this feature is -% unavailable. +% unavailable. A check is added for the entry's existence to prevent +% errors from occurring if the user removes an entry or changes the +% label, which can interrupt the build process. +%\changes{1.04}{2016-05-02}{added check for entry's existence} % \begin{macrocode} \ifdef\@gls@preglossaryhook { @@ -6518,8 +6745,11 @@ want \@glsxtr@activate@initialtagging \let\@glsxtr@org@postdescription\glspostdescription \renewcommand*{\glspostdescription}{% - \glsxtrpostdescription - \@glsxtr@org@postdescription + \ifglsentryexists{\glscurrententrylabel}% + {% + \glsxtrpostdescription + \@glsxtr@org@postdescription + }{}% }% }% } @@ -6834,7 +7064,13 @@ want \edef\glscategorylabel{#1}% \ifcsdef{@glsabbrv@current@#1}% {% +% \end{macrocode} +% Warning should already have been issued. +% \begin{macrocode} + \let\@glsxtr@orgwarndep\GlsXtrWarnDeprecatedAbbrStyle + \let\GlsXtrWarnDeprecatedAbbrStyle\@gobbletwo \glsxtr@applyabbrvstyle{\csname @glsabbrv@current@#1\endcsname}% + \let\GlsXtrWarnDeprecatedAbbrStyle\@glsxtr@orgwarndep }% {}% } @@ -7171,18 +7407,36 @@ want % \end{macrocode} %\end{macro} % +%\begin{macro}{\glslongfont} +%\changes{1.04}{2016-05-02}{new} +% Font changing command used for the long form in commands like +% \cs{glsxtrlong}. +% \begin{macrocode} +\newcommand*{\glslongfont}[1]{\glslongdefaultfont{#1}} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glslongdefaultfont} +% Default font changing command used for the long form in commands like +%\changes{1.04}{2016-05-02}{new} +% \cs{glsxtrlong}. +% \begin{macrocode} +\newcommand*{\glslongdefaultfont}[1]{#1} +% \end{macrocode} +%\end{macro} +% %\begin{macro}{\glsfirstlongfont} % Font changing command used for the long form on first use or in % the full format. % \begin{macrocode} -\newcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{#1}} +\newcommand*{\glsfirstlongfont}[1]{\glslongfont{#1}} % \end{macrocode} %\end{macro} % %\begin{macro}{\glsfirstlongdefaultfont} %\changes{0.5}{2015-12-07}{new} % \begin{macrocode} -\newcommand*{\glsfirstlongdefaultfont}[1]{#1} +\newcommand*{\glsfirstlongdefaultfont}[1]{\glslongdefaultfont{#1}} % \end{macrocode} %\end{macro} % @@ -7416,7 +7670,8 @@ want \let\glscapscase\@firstofthree \let\glsinsert\@empty \def\glscustomtext{% - \glsabbrvfont{\glsaccessshort{#2}}#3% + \glsabbrvfont{\glsaccessshort{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% @@ -7448,7 +7703,8 @@ want \let\glscapscase\@secondofthree \let\glsinsert\@empty \def\glscustomtext{% - \glsabbrvfont{\Glsaccessshort{#2}}#3% + \glsabbrvfont{\Glsaccessshort{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% @@ -7480,7 +7736,10 @@ want \let\glscapscase\@thirdofthree \let\glsinsert\@empty \def\glscustomtext{% - \mfirstucMakeUppercase{\glsabbrvfont{\glsaccessshort{#2}}#3}% + \mfirstucMakeUppercase + {\glsabbrvfont{\glsaccessshort{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi + }% }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% @@ -7510,7 +7769,10 @@ want \let\glsifplural\@secondoftwo \let\glscapscase\@firstofthree \let\glsinsert\@empty - \def\glscustomtext{\glsaccesslong{#2}#3}% + \def\glscustomtext{% + \glslongfont{\glsaccesslong{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi + }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% \glspostlinkhook @@ -7539,7 +7801,10 @@ want \let\glsifplural\@secondoftwo \let\glscapscase\@secondofthree \let\glsinsert\@empty - \def\glscustomtext{\Glsaccesslong{#2}#3}% + \def\glscustomtext{% + \glslongfont{\Glsaccesslong{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi + }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% \glspostlinkhook @@ -7568,7 +7833,12 @@ want \let\glsifplural\@secondoftwo \let\glscapscase\@thirdofthree \let\glsinsert\@empty - \def\glscustomtext{\mfirstucMakeUppercase{\glsaccesslong{#2}#3}}% + \def\glscustomtext{% + \mfirstucMakeUppercase + {\glslongfont{\glsaccesslong{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi + }% + }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% \glspostlinkhook @@ -7601,7 +7871,8 @@ want \let\glscapscase\@firstofthree \let\glsinsert\@empty \def\glscustomtext{% - \glsabbrvfont{\glsaccessshortpl{#2}}#3% + \glsabbrvfont{\glsaccessshortpl{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% @@ -7634,7 +7905,8 @@ want \let\glscapscase\@secondofthree \let\glsinsert\@empty \def\glscustomtext{% - \glsabbrvfont{\Glsaccessshortpl{#2}}#3% + \glsabbrvfont{\Glsaccessshortpl{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% @@ -7667,7 +7939,10 @@ want \let\glscapscase\@thirdofthree \let\glsinsert\@empty \def\glscustomtext{% - \mfirstucMakeUppercase{\glsabbrvfont{\glsaccessshortpl{#2}}#3}% + \mfirstucMakeUppercase + {\glsabbrvfont{\glsaccessshortpl{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi + }% }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% @@ -7699,7 +7974,10 @@ want \let\glsifplural\@firstoftwo \let\glscapscase\@firstofthree \let\glsinsert\@empty - \def\glscustomtext{\glsaccesslongpl{#2}#3}% + \def\glscustomtext{% + \glslongfont{\glsaccesslongpl{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi + }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% \glspostlinkhook @@ -7729,7 +8007,10 @@ want \let\glsifplural\@firstoftwo \let\glscapscase\@secondofthree \let\glsinsert\@empty - \def\glscustomtext{\Glsaccesslongpl{#2}#3}% + \def\glscustomtext{% + \glslongfont{\Glsaccesslongpl{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi + }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% \glspostlinkhook @@ -7759,7 +8040,12 @@ want \let\glsifplural\@firstoftwo \let\glscapscase\@thirdofthree \let\glsinsert\@empty - \def\glscustomtext{\mfirstucMakeUppercase{\glsaccesslongpl{#2}#3}}% + \def\glscustomtext{% + \mfirstucMakeUppercase + {\glslongfont{\glsaccesslongpl{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi + }% + }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% \glspostlinkhook @@ -7978,9 +8264,10 @@ want % the label, the second argument sets the information required when % defining the new abbreviation and the third argument sets the % commands used to display the full format. +%\changes{1.04}{2016-05-02}{bug fix: corrected test for existence} % \begin{macrocode} \newcommand*{\newabbreviationstyle}[3]{% - \ifcsdef{@glsabbrv@dispstyle@#1} + \ifcsdef{@glsabbrv@dispstyle@setup@#1} {% \PackageError{glossaries-extra}{Abbreviation style `#1' already defined}{}% @@ -8007,6 +8294,75 @@ want % \end{macrocode} %\end{macro} % +%\begin{macro}{\renewabbreviationstyle} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\newcommand*{\renewabbreviationstyle}[3]{% + \ifcsundef{@glsabbrv@dispstyle@setup@#1} + {% + \PackageError{glossaries-extra}{Abbreviation style `#1' not defined}{}% + }% + {% + \csdef{@glsabbrv@dispstyle@setup@#1}{% +% \end{macrocode} +% Initialise hook to do nothing. The style may change this. +% \begin{macrocode} + \renewcommand*{\GlsXtrPostNewAbbreviation}{}% + #2}% + \csdef{@glsabbrv@dispstyle@fmts@#1}{% +% \end{macrocode} +% Assume in-line form is the same as first use. The style may change +% this. +% \begin{macrocode} + \renewcommand*{\glsxtrinlinefullformat}{\glsxtrfullformat}% + \renewcommand*{\Glsxtrinlinefullformat}{\Glsxtrfullformat}% + \renewcommand*{\glsxtrinlinefullplformat}{\glsxtrfullplformat}% + \renewcommand*{\Glsxtrinlinefullplformat}{\Glsxtrfullplformat}% + #3}% + }% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\letabbreviationstyle} +%\changes{1.04}{2016-05-02}{new} +% Define a synonym for an abbreviation style. The first argument is +% the new name. The second argument is the original style's name. +% \begin{macrocode} +\newcommand*{\letabbreviationstyle}[2]{% + \csletcs{@glsabbrv@dispstyle@setup@#1}{@glsabbrv@dispstyle@setup@#2}% + \csletcs{@glsabbrv@dispstyle@fmts@#1}{@glsabbrv@dispstyle@fmts@#2}% +} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\@glsxtr@deprecated@abbrstyle} +%\changes{1.04}{2016-05-02}{new} +%\begin{definition} +%\cs{@glsxtr@deprecated@abbrstyle}\marg{old-name}\marg{new-name} +%\end{definition} +% Define a synonym for a deprecated abbreviation style. +% \begin{macrocode} +\newcommand*{\@glsxtr@deprecated@abbrstyle}[2]{% + \csdef{@glsabbrv@dispstyle@setup@#1}{% + \GlsXtrWarnDeprecatedAbbrStyle{#1}{#2}% + \csuse{@glsabbrv@dispstyle@setup@#2}% + }% + \csletcs{@glsabbrv@dispstyle@fmts@#1}{@glsabbrv@dispstyle@fmts@#2}% +} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\GlsXtrWarnDeprecatedAbbrStyle} +%Generate warning for deprecated style use. +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\newcommand*{\GlsXtrWarnDeprecatedAbbrStyle}[2]{% + \GlossariesExtraWarning{Deprecated abbreviation style name `#1', + use `#2' instead}% +} +% \end{macrocode} +%\end{macro} +% %\begin{macro}{\GlsXtrUseAbbrStyleSetup} % \begin{macrocode} \newcommand*{\GlsXtrUseAbbrStyleSetup}[1]{% @@ -8096,6 +8452,7 @@ want \renewcommand*{\glsabbrvfont}[1]{\glsabbrvdefaultfont{##1}}% \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% % \end{macrocode} % The first use full form and the inline full form are the same for % this style. @@ -8130,6 +8487,13 @@ want \setabbreviationstyle{long-short} % \end{macrocode} % +%\begin{macro}{\glsxtrlongshortdescsort} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\newcommand*{\glsxtrlongshortdescsort}{\the\glslongtok\space(\the\glsshorttok)} +% \end{macrocode} +%\end{macro} +% %\begin{abbrvstyle}{long-short-desc} % User supplies description. The long form is included in the name. %\changes{0.3}{2015-12-02}{fixed name to use \cs{glslabeltok}} @@ -8138,7 +8502,7 @@ want {% \renewcommand*{\CustomAbbreviationFields}{% name={\protect\glsxtrfullformat{\the\glslabeltok}{}}, - sort={\the\glsshorttok},% + sort={\glsxtrlongshortdescsort},% first={\protect\glsfirstlongfont{\the\glslongtok}% \protect\glsxtrfullsep{\the\glslabeltok}% (\protect\glsfirstabbrvfont{\the\glsshorttok})},% @@ -8201,6 +8565,7 @@ want \renewcommand*\glsabbrvfont[1]{\glsabbrvdefaultfont{##1}}% \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% % \end{macrocode} % The first use full form and the inline full form are the same for % this style. @@ -8305,6 +8670,7 @@ want \renewcommand*\glsabbrvfont[1]{\glsabbrvdefaultfont{##1}}% \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% % \end{macrocode} % The full format displays the short form followed by the long form % as a footnote. @@ -8356,6 +8722,12 @@ want } % \end{macrocode} %\end{abbrvstyle} +%\begin{abbrvstyle}{short-footnote} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\letabbreviationstyle{short-footnote}{footnote} +% \end{macrocode} +%\end{abbrvstyle} % %\begin{abbrvstyle}{postfootnote} % Similar to the above but the footnote is placed afterwards, @@ -8413,6 +8785,7 @@ want \renewcommand*\glsabbrvfont[1]{\glsabbrvdefaultfont{##1}}% \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% % \end{macrocode} % The full format displays the short form. The long form is % deferred. @@ -8461,6 +8834,12 @@ want % \end{macrocode} %\end{abbrvstyle} % +%\begin{abbrvstyle}{short-postfootnote} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\letabbreviationstyle{short-postfootnote}{postfootnote} +% \end{macrocode} +%\end{abbrvstyle} % %\begin{abbrvstyle}{short} % Provide a style that only displays the short form on first use, @@ -8492,6 +8871,7 @@ want \renewcommand*\glsabbrvfont[1]{\glsabbrvdefaultfont{##1}}% \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% % \end{macrocode} % The inline full form displays the short form followed by the % long form in parentheses. @@ -8548,6 +8928,12 @@ want % \begin{macrocode} \setabbreviationstyle[acronym]{short} % \end{macrocode} +%\begin{abbrvstyle}{short-nolong} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\letabbreviationstyle{short-nolong}{short} +% \end{macrocode} +%\end{abbrvstyle} % %\begin{abbrvstyle}{short-desc} % The user must supply the description in this style. The long form @@ -8578,6 +8964,7 @@ want \renewcommand*\glsabbrvfont[1]{\glsabbrvdefaultfont{##1}}% \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% % \end{macrocode} % The inline full form displays the short format followed by the % long form in parentheses. @@ -8625,6 +9012,12 @@ want } % \end{macrocode} %\end{abbrvstyle} +%\begin{abbrvstyle}{short-nolong-desc} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\letabbreviationstyle{short-nolong-desc}{short-desc} +% \end{macrocode} +%\end{abbrvstyle} % %\begin{abbrvstyle}{long-desc} % Provide a style that only displays the long form, @@ -8655,6 +9048,7 @@ want \renewcommand*\glsabbrvfont[1]{\glsabbrvdefaultfont{##1}}% \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% % \end{macrocode} % The inline full form displays the long format followed by the % short form in parentheses. @@ -8702,6 +9096,13 @@ want } % \end{macrocode} %\end{abbrvstyle} +%\begin{abbrvstyle}{long-noshort-desc} +%\changes{1.04}{2016-05-02}{new} +%Provide a synonym that matches similar styles. +% \begin{macrocode} +\letabbreviationstyle{long-noshort-desc}{long-desc} +% \end{macrocode} +%\end{abbrvstyle} % %\begin{abbrvstyle}{long} % It doesn't really make a great deal of sense to have a long-only @@ -8728,6 +9129,13 @@ want } % \end{macrocode} %\end{abbrvstyle} +%\begin{abbrvstyle}{long-noshort} +%\changes{1.04}{2016-05-02}{new} +%Provide a synonym that matches similar styles. +% \begin{macrocode} +\letabbreviationstyle{long-noshort}{long} +% \end{macrocode} +%\end{abbrvstyle} % %\subsection{Predefined Styles (Small Capitals)} %These styles use: @@ -8737,8 +9145,14 @@ want \newcommand*{\glsxtrscfont}[1]{\textsc{#1}} % \end{macrocode} %\end{macro} -% and for the default short form suffix: -%\begin{macro}{\glsxtrscsuffix} +%\begin{macro}{\glsxtrfirstscfont} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\newcommand*{\glsxtrfirstscfont}[1]{\glsxtrscfont{#1}} +% \end{macrocode} +%\end{macro} +% and for the default short form suffix: +%\begin{macro}{\glsxtrscsuffix} %\changes{0.5}{2015-12-07}{new} % \begin{macrocode} \newcommand*{\glsxtrscsuffix}{\glstextup{\glspluralsuffix}} @@ -8761,6 +9175,7 @@ want % \begin{macrocode} \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrscsuffix}% \renewcommand*\glsabbrvfont[1]{\glsxtrscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstscfont{##1}}% } % \end{macrocode} % @@ -8780,6 +9195,7 @@ want % \begin{macrocode} \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrscsuffix}% \renewcommand*\glsabbrvfont[1]{\glsxtrscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstscfont{##1}}% } % \end{macrocode} % @@ -8799,6 +9215,7 @@ want % \begin{macrocode} \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrscsuffix}% \renewcommand*\glsabbrvfont[1]{\glsxtrscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstscfont{##1}}% } % \end{macrocode} %\end{abbrvstyle} @@ -8819,6 +9236,7 @@ want % \begin{macrocode} \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrscsuffix}% \renewcommand*\glsabbrvfont[1]{\glsxtrscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstscfont{##1}}% } % \end{macrocode} %\end{abbrvstyle} @@ -8827,22 +9245,30 @@ want % \begin{macrocode} \newabbreviationstyle{short-sc}% {% - \GlsXtrUseAbbrStyleSetup{short}% + \GlsXtrUseAbbrStyleSetup{short-nolong}% }% {% % \end{macrocode} % Mostly as short style: % \begin{macrocode} - \GlsXtrUseAbbrStyleFmts{short}% + \GlsXtrUseAbbrStyleFmts{short-nolong}% % \end{macrocode} % Use smallcaps and adjust the plural suffix to revert to upright. % \begin{macrocode} \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrscsuffix}% \renewcommand*\glsabbrvfont[1]{\glsxtrscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstscfont{##1}}% } % \end{macrocode} %\end{abbrvstyle} % +%\begin{abbrvstyle}{short-sc-nolong} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\letabbreviationstyle{short-sc-nolong}{short-sc} +% \end{macrocode} +%\end{abbrvstyle} +% %\begin{abbrvstyle}{short-sc-desc} % \begin{macrocode} \newabbreviationstyle{short-sc-desc}% @@ -8859,97 +9285,136 @@ want % \begin{macrocode} \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrscsuffix}% \renewcommand*\glsabbrvfont[1]{\glsxtrscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstscfont{##1}}% } % \end{macrocode} %\end{abbrvstyle} +%\begin{abbrvstyle}{short-sc-nolong-desc} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\letabbreviationstyle{short-sc-nolong-desc}{short-sc-desc} +% \end{macrocode} +%\end{abbrvstyle} % -%\begin{abbrvstyle}{long-sc} +%\begin{abbrvstyle}{long-noshort-sc} +%\changes{1.04}{2016-05-02}{renamed from \qt{long-sc}} % The smallcaps font will only be used if % the short form is explicitly invoked through commands like % \cs{glsshort}. % \begin{macrocode} -\newabbreviationstyle{long-sc}% +\newabbreviationstyle{long-noshort-sc}% {% - \GlsXtrUseAbbrStyleSetup{long}% + \GlsXtrUseAbbrStyleSetup{long-noshort}% }% {% % \end{macrocode} % Mostly as long style: % \begin{macrocode} - \GlsXtrUseAbbrStyleFmts{long}% + \GlsXtrUseAbbrStyleFmts{long-noshort}% % \end{macrocode} % Use smallcaps and adjust the plural suffix to revert to upright. % \begin{macrocode} \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrscsuffix}% \renewcommand*\glsabbrvfont[1]{\glsxtrscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstscfont{##1}}% } % \end{macrocode} %\end{abbrvstyle} +%\begin{abbrvstyle}{long-sc} +%Backward compatibility: +% \begin{macrocode} +\@glsxtr@deprecated@abbrstyle{long-sc}{long-noshort-sc} +% \end{macrocode} +%\end{abbrvstyle} % -%\begin{abbrvstyle}{long-desc-sc} +%\begin{abbrvstyle}{long-noshort-sc-desc} +%\changes{1.04}{2016-05-02}{renamed from \qt{long-desc-sc}} % The smallcaps font will only be used if % the short form is explicitly invoked through commands like % \cs{glsshort}. % \begin{macrocode} -\newabbreviationstyle{long-desc-sc}% +\newabbreviationstyle{long-noshort-sc-desc}% {% - \GlsXtrUseAbbrStyleSetup{long-desc}% + \GlsXtrUseAbbrStyleSetup{long-noshort-desc}% }% {% % \end{macrocode} % Mostly as long style: % \begin{macrocode} - \GlsXtrUseAbbrStyleFmts{long-desc}% + \GlsXtrUseAbbrStyleFmts{long-noshort-desc}% % \end{macrocode} % Use smallcaps and adjust the plural suffix to revert to upright. % \begin{macrocode} \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrscsuffix}% \renewcommand*\glsabbrvfont[1]{\glsxtrscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstscfont{##1}}% } % \end{macrocode} %\end{abbrvstyle} +%\begin{abbrvstyle}{long-desc-sc} +%Backward compatibility: +% \begin{macrocode} +\@glsxtr@deprecated@abbrstyle{long-desc-sc}{long-noshort-sc-desc} +% \end{macrocode} +%\end{abbrvstyle} % -%\begin{abbrvstyle}{footnote-sc} +%\begin{abbrvstyle}{short-sc-footnote} %\changes{0.5}{2015-12-07}{new} +%\changes{1.04}{2016-05-02}{renamed from \qt{footnote-sc}} % \begin{macrocode} -\newabbreviationstyle{footnote-sc}% +\newabbreviationstyle{short-sc-footnote}% {% - \GlsXtrUseAbbrStyleSetup{footnote}% + \GlsXtrUseAbbrStyleSetup{short-footnote}% }% {% % \end{macrocode} % Mostly as long style: % \begin{macrocode} - \GlsXtrUseAbbrStyleFmts{footnote}% + \GlsXtrUseAbbrStyleFmts{short-footnote}% % \end{macrocode} % Use smallcaps and adjust the plural suffix to revert to upright. % \begin{macrocode} \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrscsuffix}% \renewcommand*\glsabbrvfont[1]{\glsxtrscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstscfont{##1}}% } % \end{macrocode} %\end{abbrvstyle} +%\begin{abbrvstyle}{footnote-sc} +%Backward compatibility: +% \begin{macrocode} +\@glsxtr@deprecated@abbrstyle{footnote-sc}{short-sc-footnote} +% \end{macrocode} +%\end{abbrvstyle} % -%\begin{abbrvstyle}{postfootnote-sc} +%\begin{abbrvstyle}{short-sc-postfootnote} %\changes{0.5}{2015-12-07}{new} +%\changes{1.04}{2016-05-02}{renamed from \qt{postfootnote-sc}} % \begin{macrocode} -\newabbreviationstyle{postfootnote-sc}% +\newabbreviationstyle{short-sc-postfootnote}% {% - \GlsXtrUseAbbrStyleSetup{postfootnote}% + \GlsXtrUseAbbrStyleSetup{short-postfootnote}% }% {% % \end{macrocode} % Mostly as long style: % \begin{macrocode} - \GlsXtrUseAbbrStyleFmts{postfootnote}% + \GlsXtrUseAbbrStyleFmts{short-postfootnote}% % \end{macrocode} % Use smallcaps and adjust the plural suffix to revert to upright. % \begin{macrocode} \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrscsuffix}% \renewcommand*\glsabbrvfont[1]{\glsxtrscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstscfont{##1}}% } % \end{macrocode} %\end{abbrvstyle} +%\begin{abbrvstyle}{postfootnote-sc} +%Backward compatibility: +% \begin{macrocode} +\@glsxtr@deprecated@abbrstyle{postfootnote-sc}{short-sc-postfootnote} +% \end{macrocode} +%\end{abbrvstyle} % %\subsection{Predefined Styles (Fake Small Capitals)} % These styles require the \sty{relsize} package, which must be @@ -8960,6 +9425,12 @@ want \newcommand*{\glsxtrsmfont}[1]{\textsmaller{#1}} % \end{macrocode} %\end{macro} +%\begin{macro}{\glsxtrfirstsmfont} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\newcommand*{\glsxtrfirstsmfont}[1]{\glsxtrsmfont{#1}} +% \end{macrocode} +%\end{macro} % and for the default short form suffix: %\begin{macro}{\glsxtrsmsuffix} %\changes{0.5}{2015-12-07}{new} @@ -8981,6 +9452,7 @@ want % \begin{macrocode} \GlsXtrUseAbbrStyleFmts{long-short}% \renewcommand*\glsabbrvfont[1]{\glsxtrsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstsmfont{##1}}% \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrsmsuffix}% } % \end{macrocode} @@ -8999,6 +9471,7 @@ want % \begin{macrocode} \GlsXtrUseAbbrStyleFmts{long-short-desc}% \renewcommand*\glsabbrvfont[1]{\glsxtrsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstsmfont{##1}}% \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrsmsuffix}% } % \end{macrocode} @@ -9018,6 +9491,7 @@ want % \begin{macrocode} \GlsXtrUseAbbrStyleFmts{short-long}% \renewcommand*\glsabbrvfont[1]{\glsxtrsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstsmfont{##1}}% \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrsmsuffix}% } % \end{macrocode} @@ -9037,6 +9511,7 @@ want % \begin{macrocode} \GlsXtrUseAbbrStyleFmts{short-long-desc}% \renewcommand*\glsabbrvfont[1]{\glsxtrsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstsmfont{##1}}% \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrsmsuffix}% } % \end{macrocode} @@ -9047,117 +9522,190 @@ want % \begin{macrocode} \newabbreviationstyle{short-sm}% {% - \GlsXtrUseAbbrStyleSetup{short}% + \GlsXtrUseAbbrStyleSetup{short-nolong}% }% {% % \end{macrocode} % Mostly as short style: % \begin{macrocode} - \GlsXtrUseAbbrStyleFmts{short}% + \GlsXtrUseAbbrStyleFmts{short-nolong}% \renewcommand*\glsabbrvfont[1]{\glsxtrsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstsmfont{##1}}% \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrsmsuffix}% } % \end{macrocode} %\end{abbrvstyle} +%\begin{abbrvstyle}{short-sm-nolong} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\letabbreviationstyle{short-sm-nolong}{short-sm} +% \end{macrocode} +%\end{abbrvstyle} % %\begin{abbrvstyle}{short-sm-desc} %\changes{0.5}{2015-12-07}{new} % \begin{macrocode} \newabbreviationstyle{short-sm-desc}% {% - \GlsXtrUseAbbrStyleSetup{short-desc}% + \GlsXtrUseAbbrStyleSetup{short-nolong-desc}% }% {% % \end{macrocode} % Mostly as short style: % \begin{macrocode} - \GlsXtrUseAbbrStyleFmts{short-desc}% + \GlsXtrUseAbbrStyleFmts{short-nolong-desc}% \renewcommand*\glsabbrvfont[1]{\glsxtrsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstsmfont{##1}}% \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrsmsuffix}% } % \end{macrocode} %\end{abbrvstyle} +%\begin{abbrvstyle}{short-sm-nolong-desc} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\letabbreviationstyle{short-sm-nolong-desc}{short-sm-desc} +% \end{macrocode} +%\end{abbrvstyle} % -%\begin{abbrvstyle}{long-sm} +%\begin{abbrvstyle}{long-noshort-sm} %\changes{0.5}{2015-12-07}{new} +%\changes{1.04}{2016-05-02}{renamed from \qt{long-sm}} % The smallcaps font will only be used if % the short form is explicitly invoked through commands like % \cs{glsshort}. % \begin{macrocode} -\newabbreviationstyle{long-sm}% +\newabbreviationstyle{long-noshort-sm}% {% - \GlsXtrUseAbbrStyleSetup{long}% + \GlsXtrUseAbbrStyleSetup{long-noshort}% }% {% % \end{macrocode} % Mostly as long style: % \begin{macrocode} - \GlsXtrUseAbbrStyleFmts{long}% + \GlsXtrUseAbbrStyleFmts{long-noshort}% \renewcommand*\glsabbrvfont[1]{\glsxtrsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstsmfont{##1}}% \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrsmsuffix}% } % \end{macrocode} %\end{abbrvstyle} +%\begin{abbrvstyle}{long-sm} +%Backward compatibility: +% \begin{macrocode} +\@glsxtr@deprecated@abbrstyle{long-sm}{long-noshort-sm} +% \end{macrocode} +%\end{abbrvstyle} % -%\begin{abbrvstyle}{long-desc-sm} +%\begin{abbrvstyle}{long-noshort-sm-desc} %\changes{0.5}{2015-12-07}{new} +%\changes{1.04}{2016-05-02}{renamed from \cs{long-desc-sm}} % The smaller font will only be used if % the short form is explicitly invoked through commands like % \cs{glsshort}. % \begin{macrocode} -\newabbreviationstyle{long-desc-sm}% +\newabbreviationstyle{long-noshort-sm-desc}% {% - \GlsXtrUseAbbrStyleSetup{long-desc}% + \GlsXtrUseAbbrStyleSetup{long-noshort-desc}% }% {% % \end{macrocode} % Mostly as long style: % \begin{macrocode} - \GlsXtrUseAbbrStyleFmts{long-desc}% + \GlsXtrUseAbbrStyleFmts{long-noshort-desc}% \renewcommand*\glsabbrvfont[1]{\glsxtrsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstsmfont{##1}}% \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrsmsuffix}% } % \end{macrocode} %\end{abbrvstyle} +%\begin{abbrvstyle}{long-desc-sm} +%Backward compatibility: +% \begin{macrocode} +\@glsxtr@deprecated@abbrstyle{long-desc-sm}{long-noshort-sm-desc} +% \end{macrocode} +%\end{abbrvstyle} % -%\begin{abbrvstyle}{footnote-sm} +%\begin{abbrvstyle}{short-sm-footnote} %\changes{0.5}{2015-12-07}{new} +%\changes{1.04}{2016-05-02}{renamed from \qt{footnote-sm}} % \begin{macrocode} -\newabbreviationstyle{footnote-sm}% +\newabbreviationstyle{short-sm-footnote}% {% - \GlsXtrUseAbbrStyleSetup{footnote}% + \GlsXtrUseAbbrStyleSetup{short-footnote}% }% {% % \end{macrocode} % Mostly as long style: % \begin{macrocode} - \GlsXtrUseAbbrStyleFmts{footnote}% + \GlsXtrUseAbbrStyleFmts{short-footnote}% \renewcommand*\glsabbrvfont[1]{\glsxtrsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstsmfont{##1}}% \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrsmsuffix}% } % \end{macrocode} %\end{abbrvstyle} +%\begin{abbrvstyle}{footnote-sm} +%Backward compatibility: +% \begin{macrocode} +\@glsxtr@deprecated@abbrstyle{footnote-sm}{short-sm-footnote} +% \end{macrocode} +%\end{abbrvstyle} % -%\begin{abbrvstyle}{postfootnote-sm} +%\begin{abbrvstyle}{short-sm-postfootnote} %\changes{0.5}{2015-12-07}{new} +%\changes{1.04}{2016-05-02}{renamed from \qt{postfootnote-sm}} % \begin{macrocode} -\newabbreviationstyle{postfootnote-sm}% +\newabbreviationstyle{short-sm-postfootnote}% {% - \GlsXtrUseAbbrStyleSetup{postfootnote}% + \GlsXtrUseAbbrStyleSetup{short-postfootnote}% }% {% % \end{macrocode} % Mostly as long style: % \begin{macrocode} - \GlsXtrUseAbbrStyleFmts{postfootnote}% + \GlsXtrUseAbbrStyleFmts{short-postfootnote}% \renewcommand*\glsabbrvfont[1]{\glsxtrsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstsmfont{##1}}% \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrsmsuffix}% } % \end{macrocode} %\end{abbrvstyle} +%\begin{abbrvstyle}{postfootnote-sm} +%Backward compatibility: +% \begin{macrocode} +\@glsxtr@deprecated@abbrstyle{postfootnote-sm}{short-sm-postfootnote} +% \end{macrocode} +%\end{abbrvstyle} % %\subsection{Predefined Styles (Emphasized)} % These styles use \ics{emph} for the short form. +%\begin{macro}{\glsabbrvemfont} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\newcommand*{\glsabbrvemfont}[1]{\emph{#1}}% +% \end{macrocode} +%\end{macro} +%\begin{macro}{\glsfirstabbrvemfont} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\newcommand*{\glsfirstabbrvemfont}[1]{\glsabbrvemfont{#1}}% +% \end{macrocode} +%\end{macro} +%\begin{macro}{\glsfirstlongemfont} +%\changes{1.04}{2016-05-02}{new} +%Only used by the \qt{long-em} styles. +% \begin{macrocode} +\newcommand*{\glsfirstlongemfont}[1]{\glslongemfont{#1}}% +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glslongemfont} +%\changes{1.04}{2016-05-02}{new} +%Only used by the \qt{long-em} styles. +% \begin{macrocode} +\newcommand*{\glslongemfont}[1]{\emph{#1}}% +% \end{macrocode} +%\end{macro} % %\begin{abbrvstyle}{long-short-em} %\changes{0.5}{2015-12-07}{new} @@ -9171,7 +9719,7 @@ want % Mostly as long-short style: % \begin{macrocode} \GlsXtrUseAbbrStyleFmts{long-short}% - \renewcommand*\glsabbrvfont[1]{\emph{##1}}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% } % \end{macrocode} %\end{abbrvstyle} @@ -9188,7 +9736,73 @@ want % Mostly as long-short-desc style: % \begin{macrocode} \GlsXtrUseAbbrStyleFmts{long-short-desc}% - \renewcommand*\glsabbrvfont[1]{\emph{##1}}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% +} +% \end{macrocode} +%\end{abbrvstyle} +% +%\begin{abbrvstyle}{long-em-short-em} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\newabbreviationstyle{long-em-short-em}% +{% +% \end{macrocode} +%\cs{glslongemfont} is used in the description since \cs{glsdesc} +%doesn't set the style. +% \begin{macrocode} + \renewcommand*{\CustomAbbreviationFields}{% + name={\protect\glsabbrvfont{\the\glsshorttok}}, + sort={\the\glsshorttok}, + first={\protect\glsfirstlongfont{\the\glslongtok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + (\protect\glsfirstabbrvfont{\the\glsshorttok})},% + firstplural={\protect\glsfirstlongfont{\the\glslongpltok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + (\protect\glsfirstabbrvfont{\the\glsshortpltok})},% + plural={\protect\glsabbvfont{\the\glsshortpltok}},% + description={\protect\glslongemfont{\the\glslongtok}}}% +% \end{macrocode} +% Unset the \catattr{regular} attribute if it has been set. +% \begin{macrocode} + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% +% \end{macrocode} +% In case the user wants to mix and match font styles, these are +% redefined here. +% \begin{macrocode} + \GlsXtrUseAbbrStyleFmts{long-short}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongemfont{##1}}% +} +% \end{macrocode} +%\end{abbrvstyle} +% +%\begin{abbrvstyle}{long-em-short-em-desc} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\newabbreviationstyle{long-em-short-em-desc}% +{% + \GlsXtrUseAbbrStyleSetup{long-short-desc}% +}% +{% +% \end{macrocode} +% In case the user wants to mix and match font styles, these are +% redefined here. +% \begin{macrocode} + \GlsXtrUseAbbrStyleFmts{long-short-desc}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongemfont{##1}}% } % \end{macrocode} %\end{abbrvstyle} @@ -9206,7 +9820,10 @@ want % Mostly as short-long style: % \begin{macrocode} \GlsXtrUseAbbrStyleFmts{short-long}% - \renewcommand*\glsabbrvfont[1]{\emph{##1}}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongemfont{##1}}% } % \end{macrocode} %\end{abbrvstyle} @@ -9224,7 +9841,76 @@ want % Mostly as short-long-desc style: % \begin{macrocode} \GlsXtrUseAbbrStyleFmts{short-long-desc}% - \renewcommand*\glsabbrvfont[1]{\emph{##1}}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongemfont{##1}}% +} +% \end{macrocode} +%\end{abbrvstyle} +% +%\begin{abbrvstyle}{short-em-long-em} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\newabbreviationstyle{short-em-long-em}% +{% +% \end{macrocode} +%\cs{glslongemfont} is used in the description since \cs{glsdesc} +%doesn't set the style. +% \begin{macrocode} + \renewcommand*{\CustomAbbreviationFields}{% + name={\protect\glsabbrvfont{\the\glsshorttok}}, + sort={\the\glsshorttok}, + description={\protect\glslongemfont{\the\glslongtok}},% + first={\protect\glsfirstabbrvfont{\the\glsshorttok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + (\protect\glsfirstlongfont{\the\glslongtok})},% + firstplural={\protect\glsfirstabbrvfont{\the\glsshortpltok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + (\protect\glsfirstlongfont{\the\glslongpltok})},% + plural={\protect\glsabbvfont{\the\glsshortpltok}}}% +% \end{macrocode} +% Unset the \catattr{regular} attribute if it has been set. +% \begin{macrocode} + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% +% \end{macrocode} +% In case the user wants to mix and match font styles, these are +% redefined here. +% \begin{macrocode} + \GlsXtrUseAbbrStyleFmts{short-long}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongemfont{##1}}% +} +% \end{macrocode} +%\end{abbrvstyle} +% +%\begin{abbrvstyle}{short-em-long-em-desc} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\newabbreviationstyle{short-em-long-em-desc}% +{% + \GlsXtrUseAbbrStyleSetup{short-long-desc}% +}% +{% +% \end{macrocode} +% In case the user wants to mix and match font styles, these are +% redefined here. +% \begin{macrocode} + \GlsXtrUseAbbrStyleFmts{short-long-desc}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongemfont{##1}}% } % \end{macrocode} %\end{abbrvstyle} @@ -9234,105 +9920,435 @@ want % \begin{macrocode} \newabbreviationstyle{short-em}% {% - \GlsXtrUseAbbrStyleSetup{short}% + \GlsXtrUseAbbrStyleSetup{short-nolong}% }% {% % \end{macrocode} % Mostly as short style: % \begin{macrocode} - \GlsXtrUseAbbrStyleFmts{short}% - \renewcommand*\glsabbrvfont[1]{\emph{##1}}% + \GlsXtrUseAbbrStyleFmts{short-nolong}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% } % \end{macrocode} %\end{abbrvstyle} +%\begin{abbrvstyle}{short-em-nolong} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\letabbreviationstyle{short-em-nolong}{short-em} +% \end{macrocode} +%\end{abbrvstyle} % %\begin{abbrvstyle}{short-em-desc} %\changes{0.5}{2015-12-07}{new} % \begin{macrocode} \newabbreviationstyle{short-em-desc}% {% - \GlsXtrUseAbbrStyleSetup{short-desc}% + \GlsXtrUseAbbrStyleSetup{short-nolong-desc}% }% {% % \end{macrocode} % Mostly as short style: % \begin{macrocode} - \GlsXtrUseAbbrStyleFmts{short-desc}% - \renewcommand*\glsabbrvfont[1]{\emph{##1}}% + \GlsXtrUseAbbrStyleFmts{short-nolong-desc}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% } % \end{macrocode} %\end{abbrvstyle} +%\begin{abbrvstyle}{short-em-nolong-desc} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\letabbreviationstyle{short-em-nolong-desc}{short-em-desc} +% \end{macrocode} +%\end{abbrvstyle} % -%\begin{abbrvstyle}{long-em} +%\begin{abbrvstyle}{long-noshort-em} %\changes{0.5}{2015-12-07}{new} -% The emphasized font will only be used if -% the short form is explicitly invoked through commands like +%\changes{1.04}{2016-05-02}{renamed from \qt{long-em}} +% The short form is explicitly invoked through commands like % \cs{glsshort}. % \begin{macrocode} -\newabbreviationstyle{long-em}% +\newabbreviationstyle{long-noshort-em}% {% - \GlsXtrUseAbbrStyleSetup{long}% + \GlsXtrUseAbbrStyleSetup{long-noshort}% }% {% % \end{macrocode} -% Mostly as long style: +% Mostly as \abbrstyle{long-noshort} style: % \begin{macrocode} - \GlsXtrUseAbbrStyleFmts{long}% - \renewcommand*\glsabbrvfont[1]{\emph{##1}}% + \GlsXtrUseAbbrStyleFmts{long-noshort}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% } % \end{macrocode} %\end{abbrvstyle} +%\begin{abbrvstyle}{long-em} +%Backward compatibility: +% \begin{macrocode} +\@glsxtr@deprecated@abbrstyle{long-em}{long-noshort-em} +% \end{macrocode} +%\end{abbrvstyle} % -%\begin{abbrvstyle}{long-desc-em} +%\begin{abbrvstyle}{long-em-noshort-em} +%\changes{1.04}{2016-05-02}{new} +% The short form is explicitly invoked through commands like +% \cs{glsshort}. +% \begin{macrocode} +\newabbreviationstyle{long-em-noshort-em}% +{% + \renewcommand*{\CustomAbbreviationFields}{% + name={\protect\glsabbrvfont{\the\glsshorttok}}, + sort={\the\glsshorttok}, + first={\protect\glsfirstlongfont{\the\glslongtok}}, + firstplural={\protect\glsfirstlongfont{\the\glslongpltok}}, + text={\the\glslongtok}, + plural={\the\glslongpltok},% + description={\protect\glslongemfont{\the\glslongtok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{regular}{true}}% +}% +{% +% \end{macrocode} +% Mostly as \abbrstyle{long-noshort} style: +% \begin{macrocode} + \GlsXtrUseAbbrStyleFmts{long-noshort}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongemfont{##1}}% +} +% \end{macrocode} +%\end{abbrvstyle} +% +%\begin{abbrvstyle}{long-noshort-em-desc} +%\changes{1.04}{2016-05-02}{renamed from \qt{long-desc-em}} %\changes{0.5}{2015-12-07}{new} % The emphasized font will only be used if % the short form is explicitly invoked through commands like % \cs{glsshort}. % \begin{macrocode} -\newabbreviationstyle{long-desc-em}% +\newabbreviationstyle{long-noshort-em-desc}% {% - \GlsXtrUseAbbrStyleSetup{long-desc}% + \GlsXtrUseAbbrStyleSetup{long-noshort-desc}% }% {% % \end{macrocode} % Mostly as long style: % \begin{macrocode} - \GlsXtrUseAbbrStyleFmts{long-desc}% - \renewcommand*\glsabbrvfont[1]{\emph{##1}}% + \GlsXtrUseAbbrStyleFmts{long-noshort-desc}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% } % \end{macrocode} %\end{abbrvstyle} +%\begin{abbrvstyle}{long-desc-em} +%Backward compatibility: +% \begin{macrocode} +\@glsxtr@deprecated@abbrstyle{long-desc-em}{long-noshort-em-desc} +% \end{macrocode} +%\end{abbrvstyle} % -%\begin{abbrvstyle}{footnote-em} +%\begin{abbrvstyle}{long-em-noshort-em-desc} +%\changes{1.04}{2016-05-02}{new} +% The short form is explicitly invoked through commands like +% \cs{glsshort}. The long form is emphasized. +% \begin{macrocode} +\newabbreviationstyle{long-em-noshort-em-desc}% +{% + \GlsXtrUseAbbrStyleSetup{long-noshort-desc}% +}% +{% +% \end{macrocode} +% Mostly as long style: +% \begin{macrocode} + \GlsXtrUseAbbrStyleFmts{long-noshort-desc}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongemfont{##1}}% +} +% \end{macrocode} +%\end{abbrvstyle} +% +%\begin{abbrvstyle}{short-em-footnote} %\changes{0.5}{2015-12-07}{new} +%\changes{1.04}{2015-04-30}{renamed from \qt{footnote-em}} % \begin{macrocode} -\newabbreviationstyle{footnote-em}% +\newabbreviationstyle{short-em-footnote}% {% - \GlsXtrUseAbbrStyleSetup{footnote}% + \GlsXtrUseAbbrStyleSetup{short-footnote}% }% {% % \end{macrocode} % Mostly as long style: % \begin{macrocode} - \GlsXtrUseAbbrStyleFmts{footnote}% - \renewcommand*\glsabbrvfont[1]{\emph{##1}}% + \GlsXtrUseAbbrStyleFmts{short-footnote}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% } % \end{macrocode} %\end{abbrvstyle} +%\begin{abbrvstyle}{footnote-em} +%Backward compatibility: +% \begin{macrocode} +\@glsxtr@deprecated@abbrstyle{footnote-em}{short-em-footnote} +% \end{macrocode} +%\end{abbrvstyle} % -%\begin{abbrvstyle}{postfootnote-em} +%\begin{abbrvstyle}{short-em-postfootnote} %\changes{0.5}{2015-12-07}{new} +%\changes{1.04}{2016-05-02}{renamed from \qt{postfootnote-em}} % \begin{macrocode} -\newabbreviationstyle{postfootnote-em}% +\newabbreviationstyle{short-em-postfootnote}% {% - \GlsXtrUseAbbrStyleSetup{postfootnote}% + \GlsXtrUseAbbrStyleSetup{short-postfootnote}% }% {% % \end{macrocode} % Mostly as long style: % \begin{macrocode} - \GlsXtrUseAbbrStyleFmts{postfootnote}% - \renewcommand*\glsabbrvfont[1]{\emph{##1}}% + \GlsXtrUseAbbrStyleFmts{short-postfootnote}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% +} +% \end{macrocode} +%\end{abbrvstyle} +%\begin{abbrvstyle}{postfootnote-em} +%Backward compatibility: +% \begin{macrocode} +\@glsxtr@deprecated@abbrstyle{postfootnote-em}{short-em-postfootnote} +% \end{macrocode} +%\end{abbrvstyle} +% +%\subsection{Predefined Styles (User Parentheses Hook)} +% These styles allow the user to adjust the parenthetical forms. +% These styles all test for the existence of the +% field given by: +%\begin{macro}{\glsxtruserfield} +%\changes{1.04}{2016-05-02}{new} +% Default is the useri field. +% \begin{macrocode} +\newcommand*{\glsxtruserfield}{useri} +% \end{macrocode} +%\end{macro} +% +%\begin{macro}{\glsxtruserparen} +%\changes{1.04}{2016-05-02}{new} +% The format of the parenthetical information. +% The first argument is the long/short form. The second argument +% is the entry's label. If \cs{glscurrentfieldvalue} has been +% defined, then we have at least \sty{glossaries} v4.23, which makes +% it easier for the user to adjust this. +% \begin{macrocode} +\ifdef\glscurrentfieldvalue +{ + \newcommand*{\glsxtruserparen}[2]{% + \glsxtrfullsep{#2}% + (#1\ifglshasfield{\glsxtruserfield}{#2}{, \glscurrentfieldvalue}{})% + } +} +{ + \newcommand*{\glsxtruserparen}[2]{% + \glsxtrfullsep{#2}% + (#1\ifglshasfield{\glsxtruserfield}{#2}{, \@glo@thisvalue}{})% + } +} +% \end{macrocode} +%\end{macro} +% Font used for short form: +%\begin{macro}{\glsabbrvuserfont} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\newcommand*{\glsabbrvuserfont}[1]{#1} +% \end{macrocode} +%\end{macro} +% Font used for short form on first use: +%\begin{macro}{\glsfirstabbrvuserfont} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\newcommand*{\glsfirstabbrvuserfont}[1]{\glsabbrvuserfont{#1}} +% \end{macrocode} +%\end{macro} +% Font used for long form: +%\begin{macro}{\glslonguserfont} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\newcommand*{\glslonguserfont}[1]{#1} +% \end{macrocode} +%\end{macro} +% Font used for long form on first use: +%\begin{macro}{\glsfirstlonguserfont} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\newcommand*{\glsfirstlonguserfont}[1]{\glslonguserfont{#1}} +% \end{macrocode} +%\end{macro} +% The default short form suffix: +%\begin{macro}{\glsxtrusersuffix} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\newcommand*{\glsxtrusersuffix}{\glspluralsuffix} +% \end{macrocode} +%\end{macro} +% +%\begin{abbrvstyle}{long-short-user} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\newabbreviationstyle{long-short-user}% +{% +% \end{macrocode} +%\cs{glslonguserfont} is used in the description since \cs{glsdesc} +%doesn't set the style. +% \begin{macrocode} + \renewcommand*{\CustomAbbreviationFields}{% + name={\protect\glsabbrvfont{\the\glsshorttok}}, + sort={\the\glsshorttok}, + first={\protect\glsfirstlongfont{\the\glslongtok}% + \protect\glsxtruserparen{\protect\glsfirstabbrvfont{\the\glsshorttok}}{\the\glslabeltok}},% + firstplural={\protect\glsfirstlongfont{\the\glslongpltok}% + \protect\glsxtruserparen{\protect\glsfirstabbrvfont{\the\glsshortpltok}}{\the\glslabeltok}},% + plural={\protect\glsabbvfont{\the\glsshortpltok}},% + description={\protect\glslonguserfont{\the\glslongtok}}}% +% \end{macrocode} +% Unset the \catattr{regular} attribute if it has been set. +% \begin{macrocode} + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% +% \end{macrocode} +% In case the user wants to mix and match font styles, these are +% redefined here. +% \begin{macrocode} + \renewcommand*{\abbrvpluralsuffix}{\glsxtrusersuffix}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvuserfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvuserfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonguserfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslonguserfont{##1}}% +% \end{macrocode} +% The first use full form and the inline full form are the same for +% this style. +% \begin{macrocode} + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstlongfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstabbrvfont{\glsaccessshort{##1}}}{##1}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstlongfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstabbrvfont{\glsaccessshortpl{##1}}}{##1}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstlongfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstabbrvfont{\glsaccessshort{##1}}}{##1}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstlongfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstabbrvfont{\glsaccessshortpl{##1}}}{##1}% + }% +} +% \end{macrocode} +%\end{abbrvstyle} +% +%\begin{abbrvstyle}{long-short-user-desc} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\newabbreviationstyle{long-short-user-desc}% +{% + \GlsXtrUseAbbrStyleSetup{long-short-desc}% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-short-user}% +} +% \end{macrocode} +%\end{abbrvstyle} +% +%\begin{abbrvstyle}{short-long-user} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\newabbreviationstyle{short-long-user}% +{% +% \end{macrocode} +%\cs{glslonguserfont} is used in the description since \cs{glsdesc} +%doesn't set the style. +% \begin{macrocode} + \renewcommand*{\CustomAbbreviationFields}{% + name={\protect\glsabbrvfont{\the\glsshorttok}}, + sort={\the\glsshorttok}, + description={\protect\glslonguserfont{\the\glslongtok}},% + first={\protect\glsfirstabbrvfont{\the\glsshorttok}% + \protect\glsxtruserparen{\protect\glslonguserfont{\the\glslongtok}}{\the\glslabeltok}},% + firstplural={\protect\glsfirstabbrvfont{\the\glsshortpltok}% + \protect\glsxtruserparen{\protect\glslonguserfont{\the\glslongpltok}}{\the\glslabeltok}},% + plural={\protect\glsabbvfont{\the\glsshortpltok}}}% +% \end{macrocode} +% Unset the \catattr{regular} attribute if it has been set. +% \begin{macrocode} + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% +% \end{macrocode} +% In case the user wants to mix and match font styles, these are +% redefined here. +% \begin{macrocode} + \renewcommand*{\abbrvpluralsuffix}{\glsxtrusersuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvuserfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvuserfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonguserfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslonguserfont{##1}}% +% \end{macrocode} +% The first use full form and the inline full form are the same for +% this style. +% \begin{macrocode} + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstabbrvfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstlongfont{\glsaccesslong{##1}}}{##1}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstabbrvfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstlongfont{\glsaccesslongpl{##1}}}{##1}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstabbrvfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstlongfont{\glsaccesslong{##1}}}{##1}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstabbrvfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstlongfont{\glsaccesslongpl{##1}}}{##1}% + }% +} +% \end{macrocode} +%\end{abbrvstyle} +% +%\begin{abbrvstyle}{short-long-user-desc} +%\changes{1.04}{2016-05-02}{new} +% \begin{macrocode} +\newabbreviationstyle{short-long-user-desc}% +{% + \GlsXtrUseAbbrStyleSetup{short-long-desc}% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-long-user}% } % \end{macrocode} %\end{abbrvstyle} @@ -10563,6 +11579,10 @@ want % \begin{macrocode} \@glsxtr@redefstyles % \end{macrocode} +% and set the style: +% \begin{macrocode} +\@glsxtr@do@style +% \end{macrocode} %\iffalse % \begin{macrocode} % @@ -10581,7 +11601,7 @@ want % First identify package: % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossaries-extra-stylemods}[2016/04/27 v1.03 (NLCT)] +\ProvidesPackage{glossaries-extra-stylemods}[2016/05/02 v1.04 (NLCT)] % \end{macrocode} % Provide package options to automatically load required predefined % styles. The simplest method is to just test for the existence of diff --git a/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.ins b/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.ins index 3f693042de9..c1a3bd89823 100644 --- a/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.ins +++ b/Master/texmf-dist/source/latex/glossaries-extra/glossaries-extra.ins @@ -1,4 +1,4 @@ -% glossaries-extra.ins generated using makedtx version 1.1 2016/4/27 10:59 +% glossaries-extra.ins generated using makedtx version 1.1 2016/5/2 18:05 \input docstrip \preamble diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-stylemods.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-stylemods.sty index e901f8bfa4b..044bc566442 100644 --- a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-stylemods.sty +++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra-stylemods.sty @@ -39,7 +39,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossaries-extra-stylemods}[2016/04/27 v1.03 (NLCT)] +\ProvidesPackage{glossaries-extra-stylemods}[2016/05/02 v1.04 (NLCT)] \newcommand*{\@glsxtr@loadstyles}{} \DeclareOption*{% \IfFileExists{glossary-\CurrentOption.sty} diff --git a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra.sty b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra.sty index fe0f3ceda2e..45d8d8ccdfd 100644 --- a/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra.sty +++ b/Master/texmf-dist/tex/latex/glossaries-extra/glossaries-extra.sty @@ -39,7 +39,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{glossaries-extra}[2016/04/27 v1.03 (NLCT)] +\ProvidesPackage{glossaries-extra}[2016/05/02 v1.04 (NLCT)] \RequirePackage{xkeyval} \RequirePackage{etoolbox} \@ifpackageloaded{glossaries} @@ -251,7 +251,7 @@ \PackageError{glossaries-extra}% {Glossaries style package `glossary-\@glsxtr@tmp.sty' doesn't exist (did you mean to use the `style' key?)}% - {The list of values (#1) in the `styles' key should + {The list of values (#1) in the `stylemods' key should match the glossary-xxx.sty files provided with glossaries.sty}% }% @@ -259,6 +259,13 @@ \appto\@glsxtr@redefstyles{\RequirePackage{glossaries-extra-stylemods}}% }% } +\newcommand*{\@glsxtr@do@style}{} +\define@key{glossaries-extra.sty}{style}{% + \renewcommand*{\@glsxtr@do@style}{% + \setkeys{glossaries.sty}{style={#1}}% + \setglossarystyle{#1}% + }% +} \DeclareOptionX*{% \expandafter\glsxtr@dooption\expandafter{\CurrentOption}} \ProcessOptionsX @@ -583,16 +590,79 @@ \fi } {}% - \def\org@glossaryentrynumbers#1{#1\gls@save@numberlist{#1}}% - \ifx\org@glossaryentrynumbers\glossaryentrynumbers - \glsnonumberlistfalse - \renewcommand*{\glossaryentrynumbers}[1]{% - \GlsXtrFormatLocationList{#1}\gls@save@numberlist{#1}}% - \else - \glsnonumberlisttrue - \renewcommand*{\glossaryentrynumbers}[1]{\gls@save@numberlist{#1}}% - \fi +\def\org@glossaryentrynumbers#1{#1\gls@save@numberlist{#1}}% +\ifx\org@glossaryentrynumbers\glossaryentrynumbers + \glsnonumberlistfalse + \renewcommand*{\glossaryentrynumbers}[1]{% + \ifglsentryexists{\glscurrententrylabel}% + {% + \@glsxtrpreloctag + \GlsXtrFormatLocationList{#1}% + \@glsxtrpostloctag + \gls@save@numberlist{#1}% + }{}% + }% +\else + \glsnonumberlisttrue + \renewcommand*{\glossaryentrynumbers}[1]{% + \ifglsentryexists{\glscurrententrylabel}% + {% + \gls@save@numberlist{#1}% + }{}% + }% +\fi \newcommand*{\GlsXtrFormatLocationList}[1]{#1} +\newcommand*{\GlsXtrEnablePreLocationTag}[2]{% + \let\@glsxtrpreloctag\@@glsxtrpreloctag + \let\@glsxtrpostloctag\@@glsxtrpostloctag + \renewcommand*{\@glsxtr@pagetag}{#1}% + \renewcommand*{\@glsxtr@pagestag}{#2}% + \renewcommand*{\@glsxtr@savepreloctag}[2]{% + \csgdef{@glsxtr@preloctag@##1}{##2}% + }% + \renewcommand*{\@glsxtr@doloctag}{% + \ifcsundef{@glsxtr@preloctag@\glscurrententrylabel}% + {% + \GlossariesWarning{Missing pre-location tag for `\glscurrententrylabel'. + Rerun required}% + }% + {% + \csuse{@glsxtr@preloctag@\glscurrententrylabel}% + }% + }% +} +\@onlypreamble\GlsXtrEnablePreLocationTag +\newcommand*{\@@glsxtrpreloctag}{% + \let\@glsxtr@org@delimN\delimN + \let\@glsxtr@org@delimR\delimR + \let\@glsxtr@org@glsignore\glsignore + \gdef\@glsxtr@thisloctag{\@glsxtr@pagetag}% + \renewcommand*{\delimN}{% + \gdef\@glsxtr@thisloctag{\@glsxtr@pagestag}% + \@glsxtr@org@delimN}% + \renewcommand*{\delimR}{% + \gdef\@glsxtr@thisloctag{\@glsxtr@pagestag}% + \@glsxtr@org@delimR}% + \renewcommand*{\glsignore}[1]{% + \gdef\@glsxtr@thisloctag{\relax}% + \@glsxtr@org@glsignore{##1}}% + \@glsxtr@doloctag +} +\newcommand*{\@glsxtrpreloctag}{} +\newcommand*{\@glsxtr@pagetag}{}% +\newcommand*{\@glsxtr@pagestag}{}% +\newcommand*{\@@glsxtrpostloctag}{% + \let\delimN\@glsxtr@org@delimN + \let\delimR\@glsxtr@org@delimR + \let\glsignore\@glsxtr@org@glsignore + \protected@write\@auxout{}% + {\string\@glsxtr@savepreloctag{\glscurrententrylabel}{\@glsxtr@thisloctag}}% +} +\newcommand*{\@glsxtrpostloctag}{} +\newcommand*{\@glsxtr@savepreloctag}[2]{} +\protected@write\@auxout{}{% + \string\providecommand\string\@glsxtr@savepreloctag[2]{}} +\newcommand*{\@glsxtr@doloctag}{} \renewcommand*{\KV@printgloss@nonumberlist}[1]{% \XKV@plfalse \XKV@sttrue @@ -603,7 +673,9 @@ \def\glossaryentrynumbers##1{\gls@save@numberlist{##1}}% \else \def\glossaryentrynumbers##1{% + \@glsxtrpreloctag \GlsXtrFormatLocationList{##1}% + \@glsxtrpostloctag \gls@save@numberlist{##1}}% \fi }% @@ -611,9 +683,14 @@ \renewcommand*{\glsentryfmt}{% \ifglshasshort{\glslabel}{\glssetabbrvfmt{\glscategory{\glslabel}}}{}% \glsifregular{\glslabel}% - {\glsgenentryfmt}% - {\ifglshasshort{\glslabel}{\glsxtrgenabbrvfmt}{\glsgenentryfmt}}% + {\glsxtrregularfont{\glsgenentryfmt}}% + {% + \ifglshasshort{\glslabel}% + {\glsxtrgenabbrvfmt}% + {\glsxtrregularfont{\glsgenentryfmt}}% + }% } +\newcommand*{\glsxtrregularfont}[1]{#1} \renewcommand{\@gls@field@link}[4][]{% \glsdoifexists{#3}% {% @@ -631,182 +708,261 @@ \let\glscapscase\@firstofthree \let\glsinsert\@empty } +\newcommand*{\glsxtrassignfieldfont}[1]{% + \ifglshasshort{#1}% + {% + \glssetabbrvfmt{\glscategory{#1}}% + \glsifregular{#1}% + {\let\@gls@field@font\glsxtrregularfont}% + {\let\@gls@field@font\@firstofone}% + }% + {% + \glsifnotregular{#1}% + {\let\@gls@field@font\@firstofone}% + {\let\@gls@field@font\glsxtrregularfont}% + }% +} +\def\@glstext@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link{#1}{#2}{\@gls@field@font{\glsaccesstext{#2}#3}}% +} \def\@GLStext@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link[\let\glscapscase\@thirdofthree]{#1}{#2}% - {\mfirstucMakeUppercase{\glsentrytext{#2}#3}}% + {\@gls@field@font{\GLSaccesstext{#2}\mfirstucMakeUppercase{#3}}}% } \def\@Glstext@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link[\let\glscapscase\@secondofthree]{#1}{#2}% - {\Glsentrytext{#2}#3}% + {\@gls@field@font{\Glsaccesstext{#2}#3}}% } \def\@glsfirst@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link[\let\glsxtrifwasfirstuse\@firstoftwo]{#1}{#2}% - {\glsentryfirst{#2}#3}% + {\@gls@field@font{\glsaccessfirst{#2}#3}}% } \def\@Glsfirst@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link [\let\glsxtrifwasfirstuse\@firstoftwo \let\glscapscase\@secondofthree ]% - {#1}{#2}{\Glsentryfirst{#2}#3}% + {#1}{#2}{\@gls@field@font{\Glsaccessfirst{#2}#3}}% } \def\@GLSfirst@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link [\let\glsxtrifwasfirstuse\@firstoftwo \let\glscapscase\@thirdofthree ]% - {#1}{#2}{\mfirstucMakeUppercase{\glsentryfirst{#2}#3}}% + {#1}{#2}{\@gls@field@font{\GLSaccessfirst{#2}\mfirstucMakeUppercase{#3}}}% } \def\@glsplural@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link[\let\glsifplural\@firstoftwo]{#1}{#2}% - {\glsentryplural{#2}#3}% + {\@gls@field@font{\glsaccessplural{#2}#3}}% } \def\@Glsplural@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link [\let\glsifplural\@firstoftwo \let\glscapscase\@secondofthree ]% - {#1}{#2}{\Glsentryplural{#2}#3}% + {#1}{#2}{\@gls@field@font{\Glsaccessplural{#2}#3}}% } \def\@GLSplural@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link [\let\glsifplural\@firstoftwo \let\glscapscase\@thirdofthree ]% - {#1}{#2}{\mfirstucMakeUppercase{\glsentryplural{#2}#3}}% + {#1}{#2}{\@gls@field@font{\GLSaccessplural{#2}\mfirstucMakeUppercase{#3}}}% } \def\@glsfirstplural@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link [\let\glsxtrifwasfirstuse\@firstoftwo \let\glsifplural\@firstoftwo ]% - {#1}{#2}{\glsentryfirstplural{#2}#3}% + {#1}{#2}{\@gls@field@font{\glsaccessfirstplural{#2}#3}}% } \def\@Glsfirstplural@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link [\let\glsxtrifwasfirstuse\@firstoftwo \let\glsifplural\@firstoftwo \let\glscapscase\@secondofthree ]% - {#1}{#2}{\Glsentryfirstplural{#2}#3}% + {#1}{#2}{\@gls@field@font{\Glsaccessfirstplural{#2}#3}}% } \def\@GLSfirstplural@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link [\let\glsxtrifwasfirstuse\@firstoftwo \let\glsifplural\@firstoftwo \let\glscapscase\@thirdofthree ]% - {#1}{#2}{\mfirstucMakeUppercase{\glsentryfirstplural{#2}#3}}% + {#1}{#2}% + {\@gls@field@font{\GLSaccessfirstplural{#2}\mfirstucMakeUppercase{#3}}}% +} +\def\@glsname@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link{#1}{#2}{\@gls@field@font{\glsaccessname{#2}#3}}% } \def\@Glsname@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link - [\let\glscapscase\@secondoftwo]{#1}{#2}{\Glsentryname{#2}#3}% + [\let\glscapscase\@secondoftwo]{#1}{#2}% + {\@gls@field@font{\Glsaccessname{#2}#3}}% } \def\@GLSname@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link[\let\glscapscase\@thirdoftwo]% - {#1}{#2}{\mfirstucMakeUppercase{\glsentryname{#2}#3}}% + {#1}{#2}% + {\@gls@field@font{\GLSaccessname{#2}\mfirstucMakeUppercase{#3}}}% +} +\def\@glsdesc@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link{#1}{#2}{\@gls@field@font{\glsaccessdesc{#2}#3}}% } \def\@Glsdesc@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link - [\let\glscapscase\@secondoftwo]{#1}{#2}{\Glsentrydesc{#2}#3}% + [\let\glscapscase\@secondoftwo]{#1}{#2}% + {\@gls@field@font{\Glsaccessdesc{#2}#3}}% } \def\@GLSdesc@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link[\let\glscapscase\@thirdoftwo]% - {#1}{#2}{\mfirstucMakeUppercase{\glsentrydesc{#2}#3}}% + {#1}{#2}{\@gls@field@font{\GLSaccessdesc{#2}\mfirstucMakeUppercase{#3}}}% } \def\@glsdescplural@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link [\let\glscapscase\@secondoftwo \let\glsifplural\@firstoftwo - ]{#1}{#2}{\glsentrydescplural{#2}#3}% + ]{#1}{#2}{\@gls@field@font{\glsaccessdescplural{#2}#3}}% } \def\@Glsdescplural@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link [\let\glscapscase\@secondoftwo \let\glsifplural\@firstoftwo - ]{#1}{#2}{\Glsentrydescplural{#2}#3}% + ]{#1}{#2}{\@gls@field@font{\Glsaccessdescplural{#2}#3}}% } \def\@GLSdesc@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link [\let\glscapscase\@thirdoftwo \let\glsifplural\@firstoftwo ]% - {#1}{#2}{\mfirstucMakeUppercase{\glsentrydescplural{#2}#3}}% + {#1}{#2}% + {\@gls@field@font{\GLSaccessdescplural{#2}\mfirstucMakeUppercase{#3}}}% +} +\def\@glssymbol@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% + \@gls@field@link{#1}{#2}{\@gls@field@font{\glsaccesssymbol{#2}#3}}% } \def\@Glssymbol@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link - [\let\glscapscase\@secondoftwo]{#1}{#2}{\Glsentrysymbol{#2}#3}% + [\let\glscapscase\@secondoftwo]% + {#1}{#2}{\@gls@field@font{\Glsaccesssymbol{#2}#3}}% } \def\@GLSsymbol@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link[\let\glscapscase\@thirdoftwo]% - {#1}{#2}{\mfirstucMakeUppercase{\glsentrysymbol{#2}#3}}% + {#1}{#2}{\@gls@field@font{\GLSaccesssymbol{#2}\mfirstucMakeUppercase{#3}}}% } \def\@glssymbolplural@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link [\let\glscapscase\@secondoftwo \let\glsifplural\@firstoftwo - ]{#1}{#2}{\glsentrysymbolplural{#2}#3}% + ]{#1}{#2}{\@gls@field@font{\glsaccesssymbolplural{#2}#3}}% } \def\@Glssymbolplural@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link [\let\glscapscase\@secondoftwo \let\glsifplural\@firstoftwo - ]{#1}{#2}{\Glsentrysymbolplural{#2}#3}% + ]{#1}{#2}{\@gls@field@font{\Glsaccesssymbolplural{#2}#3}}% } \def\@GLSsymbol@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link [\let\glscapscase\@thirdoftwo \let\glsifplural\@firstoftwo ]% - {#1}{#2}{\mfirstucMakeUppercase{\glsentrysymbolplural{#2}#3}}% + {#1}{#2}% + {\@gls@field@font{\GLSaccesssymbolplural{#2}\mfirstucMakeUppercase{#3}}}% } \def\@Glsuseri@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link - [\let\glscapscase\@secondoftwo]{#1}{#2}{\Glsentryuseri{#2}#3}% + [\let\glscapscase\@secondoftwo]{#1}{#2}% + {\@gls@field@font{\Glsentryuseri{#2}#3}}% } \def\@GLSuseri@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link[\let\glscapscase\@thirdoftwo]% - {#1}{#2}{\mfirstucMakeUppercase{\glsentryuseri{#2}#3}}% + {#1}{#2}{\@gls@field@font{\mfirstucMakeUppercase{\glsentryuseri{#2}#3}}}% } \def\@Glsuserii@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link - [\let\glscapscase\@secondoftwo]{#1}{#2}{\Glsentryuserii{#2}#3}% + [\let\glscapscase\@secondoftwo]% + {#1}{#2}{\@gls@field@font{\Glsentryuserii{#2}#3}}% } \def\@GLSuserii@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link[\let\glscapscase\@thirdoftwo]% - {#1}{#2}{\mfirstucMakeUppercase{\glsentryuserii{#2}#3}}% + {#1}{#2}{\@gls@field@font{\mfirstucMakeUppercase{\glsentryuserii{#2}#3}}}% } \def\@Glsuseriii@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link - [\let\glscapscase\@secondoftwo]{#1}{#2}{\Glsentryuseriii{#2}#3}% + [\let\glscapscase\@secondoftwo]% + {#1}{#2}{\@gls@field@font{\Glsentryuseriii{#2}#3}}% } \def\@GLSuseriii@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link[\let\glscapscase\@thirdoftwo]% - {#1}{#2}{\mfirstucMakeUppercase{\glsentryuseriii{#2}#3}}% + {#1}{#2}{\@gls@field@font{\mfirstucMakeUppercase{\glsentryuseriii{#2}#3}}}% } \def\@Glsuseriv@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link - [\let\glscapscase\@secondoftwo]{#1}{#2}{\Glsentryuseriv{#2}#3}% + [\let\glscapscase\@secondoftwo]% + {#1}{#2}{\@gls@field@font{\Glsentryuseriv{#2}#3}}% } \def\@GLSuseriv@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link[\let\glscapscase\@thirdoftwo]% - {#1}{#2}{\mfirstucMakeUppercase{\glsentryuseriv{#2}#3}}% + {#1}{#2}% + {\@gls@field@font{\mfirstucMakeUppercase{\glsentryuseriv{#2}#3}}}% } \def\@Glsuserv@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link - [\let\glscapscase\@secondoftwo]{#1}{#2}{\Glsentryuserv{#2}#3}% + [\let\glscapscase\@secondoftwo]% + {#1}{#2}{\@gls@field@font{\Glsentryuserv{#2}#3}}% } \def\@GLSuserv@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link[\let\glscapscase\@thirdoftwo]% - {#1}{#2}{\mfirstucMakeUppercase{\glsentryuserv{#2}#3}}% + {#1}{#2}{\@gls@field@font{\mfirstucMakeUppercase{\glsentryuserv{#2}#3}}}% } \def\@Glsuservi@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link - [\let\glscapscase\@secondoftwo]{#1}{#2}{\Glsentryuservi{#2}#3}% + [\let\glscapscase\@secondoftwo]% + {#1}{#2}{\@gls@field@font{\Glsentryuservi{#2}#3}}% } \def\@GLSuservi@#1#2[#3]{% + \glsxtrassignfieldfont{#2}% \@gls@field@link[\let\glscapscase\@thirdoftwo]% - {#1}{#2}{\mfirstucMakeUppercase{\glsentryuservi{#2}#3}}% + {#1}{#2}{\@gls@field@font{\mfirstucMakeUppercase{\glsentryuservi{#2}#3}}}% } \def\@acrshort#1#2[#3]{% \glsdoifexists{#2}% @@ -1262,11 +1418,11 @@ \def\@glsxtr@p@long@#1#2[#3]{{\glsentrylong{#2}#3}} \def\@Glsxtr@p@long@#1#2[#3]{{\Glsentrylong{#2}#3}} \def\@GLSxtr@p@long@#1#2[#3]{% - {\mfirstucMakeUppercase{\glsentrylong{#2}#3}}} + {\mfirstucMakeUppercase{\glslongfont{\glsentrylong{#2}}#3}}} \def\@glsxtr@p@longpl@#1#2[#3]{{\glsentrylongpl{#2}#3}} -\def\@Glsxtr@p@longpl@#1#2[#3]{{\Glsentrylongpl{#2}#3}} +\def\@Glsxtr@p@longpl@#1#2[#3]{{\glslongfont{\Glsentrylongpl{#2}}#3}} \def\@GLSxtr@p@longpl@#1#2[#3]{% - {\mfirstucMakeUppercase{\glsentrylongpl{#2}#3}}} + {\mfirstucMakeUppercase{\glslongfont{\glsentrylongpl{#2}}#3}}} \def\@glsxtr@p@acrshort@#1#2[#3]{{\acronymfont{\glsentryshort{#2}}#3}} \def\@Glsxtr@p@acrshort@#1#2[#3]{{\acronymfont{\Glsentryshort{#2}}#3}} \def\@GLSxtr@p@acrshort@#1#2[#3]{% @@ -2008,7 +2164,7 @@ want }% }% }% -\let\@glsxtr@idx@entrynumberlist\glsentrynumberlist +\newcommand*{\@glsxtr@idx@entrynumberlist}[1]{\glsentrynumberlist{#1}} \renewcommand{\@print@glossary}{% \makeatletter \@input@{\jobname.\csname @glotype@\@glo@type @in\endcsname}% @@ -2094,7 +2250,7 @@ want \begin{itemize} \item Run the external (Lua) application: - \texttt{makeglossaries-lite \string"\jobname\string"} + \texttt{makeglossaries-lite.lua \string"\jobname\string"} \item Run the external (Perl) application: @@ -2125,7 +2281,7 @@ want \item Run the external (Lua) application: - \texttt{makeglossaries-lite \string"\jobname\string"} + \texttt{makeglossaries-lite.lua \string"\jobname\string"} \item Run the external (Perl) application: @@ -2207,9 +2363,6 @@ want }% {#1}% } -\def\@glsname@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\glsaccessname{#2}#3}% -} \newcommand*{\Glsaccessname}[1]{% \glsnameaccessdisplay {% @@ -2217,9 +2370,6 @@ want }% {#1}% } -\def\@Glsname@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\Glsaccessname{#2}#3}% -} \newcommand*{\GLSaccessname}[1]{% \glsnameaccessdisplay {% @@ -2227,9 +2377,6 @@ want }% {#1}% } -\def\@GLSname@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\GLSaccessname{#2}#3}% -} \newcommand*{\glsaccesstext}[1]{% \glstextaccessdisplay {% @@ -2237,9 +2384,6 @@ want }% {#1}% } -\def\@glstext@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\glsaccesstext{#2}#3}% -} \newcommand*{\Glsaccesstext}[1]{% \glstextaccessdisplay {% @@ -2247,9 +2391,6 @@ want }% {#1}% } -\def\@Glstext@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\Glsaccesstext{#2}#3}% -} \newcommand*{\GLSaccesstext}[1]{% \glstextaccessdisplay {% @@ -2257,9 +2398,6 @@ want }% {#1}% } -\def\@GLStext@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\GLSaccesstext{#2}#3}% -} \newcommand*{\glsaccessplural}[1]{% \glspluralaccessdisplay {% @@ -2267,9 +2405,6 @@ want }% {#1}% } -\def\@glsplural@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\glsaccessplural{#2}#3}% -} \newcommand*{\Glsaccessplural}[1]{% \glspluralaccessdisplay {% @@ -2277,9 +2412,6 @@ want }% {#1}% } -\def\@glsplural@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\Glsaccessplural{#2}#3}% -} \newcommand*{\GLSaccessplural}[1]{% \glspluralaccessdisplay {% @@ -2287,9 +2419,6 @@ want }% {#1}% } -\def\@GLSplural@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\GLSaccessplural{#2}#3}% -} \newcommand*{\glsaccessfirst}[1]{% \glsfirstaccessdisplay {% @@ -2297,9 +2426,6 @@ want }% {#1}% } -\def\@glsfirst@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\glsaccessfirst{#2}#3}% -} \newcommand*{\Glsaccessfirst}[1]{% \glsfirstaccessdisplay {% @@ -2307,9 +2433,6 @@ want }% {#1}% } -\def\@Glsfirst@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\Glsaccessfirst{#2}#3}% -} \newcommand*{\GLSaccessfirst}[1]{% \glsfirstaccessdisplay {% @@ -2317,9 +2440,6 @@ want }% {#1}% } -\def\@GLSfirst@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\GLSaccessfirst{#2}#3}% -} \newcommand*{\glsaccessfirstplural}[1]{% \glsfirstpluralaccessdisplay {% @@ -2327,9 +2447,6 @@ want }% {#1}% } -\def\@glsfirstplural@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\glsaccessfirstplural{#2}#3}% -} \newcommand*{\Glsaccessfirstplural}[1]{% \glsfirstpluralaccessdisplay {% @@ -2337,9 +2454,6 @@ want }% {#1}% } -\def\@Glsfirstplural@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\Glsaccessfirstplural{#2}#3}% -} \newcommand*{\GLSaccessfirstplural}[1]{% \glsfirstpluralaccessdisplay {% @@ -2347,9 +2461,6 @@ want }% {#1}% } -\def\@GLSfirstplural@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\GLSaccessfirstplural{#2}#3}% -} \newcommand*{\glsaccesssymbol}[1]{% \glssymbolaccessdisplay {% @@ -2357,9 +2468,6 @@ want }% {#1}% } -\def\@glssymbol@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\glsaccesssymbol{#2}#3}% -} \newcommand*{\Glsaccesssymbol}[1]{% \glssymbolaccessdisplay {% @@ -2367,9 +2475,6 @@ want }% {#1}% } -\def\@Glssymbol@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\Glsaccesssymbol{#2}#3}% -} \newcommand*{\GLSaccesssymbol}[1]{% \glssymbolaccessdisplay {% @@ -2377,9 +2482,6 @@ want }% {#1}% } -\def\@GLSsymbol@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\GLSaccesssymbol{#2}#3}% -} \newcommand*{\glsaccesssymbolplural}[1]{% \glssymbolpluralaccessdisplay {% @@ -2387,9 +2489,6 @@ want }% {#1}% } -\def\@glssymbolplural@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\glsaccesssymbolplural{#2}#3}% -} \newcommand*{\Glsaccesssymbolplural}[1]{% \glssymbolpluralaccessdisplay {% @@ -2397,9 +2496,6 @@ want }% {#1}% } -\def\@Glssymbolplural@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\Glsaccesssymbolplural{#2}#3}% -} \newcommand*{\GLSaccesssymbolplural}[1]{% \glssymbolpluralaccessdisplay {% @@ -2407,9 +2503,6 @@ want }% {#1}% } -\def\@GLSsymbolplural@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\GLSaccesssymbolplural{#2}#3}% -} \newcommand*{\glsaccessdesc}[1]{% \glsdescriptionaccessdisplay {% @@ -2417,9 +2510,6 @@ want }% {#1}% } -\def\@glsdesc@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\glsaccessdesc{#2}#3}% -} \newcommand*{\Glsaccessdesc}[1]{% \glsdescriptionaccessdisplay {% @@ -2427,9 +2517,6 @@ want }% {#1}% } -\def\@Glsdesc@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\Glsaccessdesc{#2}#3}% -} \newcommand*{\GLSaccessdesc}[1]{% \glsdescriptionaccessdisplay {% @@ -2437,9 +2524,6 @@ want }% {#1}% } -\def\@GLSdesc@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\GLSaccessdesc{#2}#3}% -} \newcommand*{\glsaccessdescplural}[1]{% \glsdescriptionpluralaccessdisplay {% @@ -2447,9 +2531,6 @@ want }% {#1}% } -\def\@glsdescplural@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\glsaccessdescplural{#2}#3}% -} \newcommand*{\Glsaccessdescplural}[1]{% \glsdescriptionpluralaccessdisplay {% @@ -2457,9 +2538,6 @@ want }% {#1}% } -\def\@Glsdescplural@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\Glsaccessdescplural{#2}#3}% -} \newcommand*{\GLSaccessdescplural}[1]{% \glsdescriptionpluralaccessdisplay {% @@ -2467,9 +2545,6 @@ want }% {#1}% } -\def\@GLSdescplural@#1#2[#3]{% - \@gls@field@link{#1}{#2}{\GLSaccessdescplural{#2}#3}% -} \newcommand*{\glsaccessshort}[1]{% \glsshortaccessdisplay {% @@ -2637,9 +2712,15 @@ want \newcommand{\glsifregularcategory}[3]{% \glsifcategoryattribute{#1}{regular}{true}{#2}{#3}% } +\newcommand{\glsifnotregularcategory}[3]{% + \glsifcategoryattribute{#1}{regular}{false}{#2}{#3}% +} \newcommand{\glsifregular}[3]{% \glsifregularcategory{\glscategory{#1}}{#2}{#3}% } +\newcommand{\glsifnotregular}[3]{% + \glsifnotregularcategory{\glscategory{#1}}{#2}{#3}% +} \newcommand{\glsforeachincategory}[5][\@glo@types]{% \forallglossaries[#1]{#3}% {% @@ -2712,9 +2793,24 @@ want \glsdoifexistsorwarn{#1}% {% \glssetabbrvfmt{\glscategory{#1}}% + \glshasattribute{#1}{glossdescfont}% + {% + \edef\@glsxtr@attrval{\glsgetattribute{#1}{glossdescfont}}% + \ifcsdef{\@glsxtr@attrval}% + {% + \letcs{\@glsxtr@glossdescfont}{\@glsxtr@attrval}% + }% + {% + \GlossariesExtraWarning{Unknown control sequence name + `\@glsxtr@attrval' supplied in glossdescfont attribute + for entry `#1'. Ignoring}% + \let\@glsxtr@glossdescfont\@firstofone + }% + }% + {\let\@glsxtr@glossdescfont\@firstofone}% \glsifattribute{#1}{glossdesc}{firstuc}% {% - \Glsaccessdesc{#1}% + \@glsxtr@glossdescfont{\Glsaccessdesc{#1}}% }% {% \glsifattribute{#1}{glossdesc}{title}% @@ -2722,12 +2818,12 @@ want \@glsxtr@do@titlecaps@warn \glsdescriptionaccessdisplay {% - \glsxtrfieldtitlecase{#1}{desc}% + \@glsxtr@glossdescfont{\glsxtrfieldtitlecase{#1}{desc}}% }% {#1}% }% {% - \glsaccessdesc{#1}% + \@glsxtr@glossdescfont{\glsaccessdesc{#1}}% }% }% }% @@ -2738,18 +2834,33 @@ want \glsdoifexistsorwarn{#1}% {% \glssetabbrvfmt{\glscategory{#1}}% + \glshasattribute{#1}{glossdescfont}% + {% + \edef\@glsxtr@attrval{\glsgetattribute{#1}{glossdescfont}}% + \ifcsdef{\@glsxtr@attrval}% + {% + \letcs{\@glsxtr@glossdescfont}{\@glsxtr@attrval}% + }% + {% + \GlossariesExtraWarning{Unknown control sequence name + `\@glsxtr@attrval' supplied in glossdescfont attribute + for entry `#1'. Ignoring}% + \let\@glsxtr@glossdescfont\@firstofone + }% + }% + {\let\@glsxtr@glossdescfont\@firstofone}% \glsifattribute{#1}{glossdesc}{firstuc}% {% - \Glsentrydesc{#1}% + \@glsxtr@glossdescfont{\Glsentrydesc{#1}}% }% {% \glsifattribute{#1}{glossdesc}{title}% {% \@glsxtr@do@titlecaps@warn - \glsxtrfieldtitlecase{#1}{desc}% + \@glsxtr@glossdescfont{\glsxtrfieldtitlecase{#1}{desc}}% }% {% - \glsentrydesc{#1}% + \@glsxtr@glossdescfont{\glsentrydesc{#1}}% }% }% }% @@ -2761,11 +2872,26 @@ want \glsdoifexistsorwarn{#1}% {% \glssetabbrvfmt{\glscategory{#1}}% + \glshasattribute{#1}{glossnamefont}% + {% + \edef\@glsxtr@attrval{\glsgetattribute{#1}{glossnamefont}}% + \ifcsdef{\@glsxtr@attrval}% + {% + \letcs{\@glsxtr@glossnamefont}{\@glsxtr@attrval}% + }% + {% + \GlossariesExtraWarning{Unknown control sequence name + `\@glsxtr@attrval' supplied in glossnamefont attribute + for entry `#1'. Reverting to default \string\glsnamefont}% + \let\@glsxtr@glossnamefont\glsnamefont + }% + }% + {\let\@glsxtr@glossnamefont\glsnamefont}% \glsifattribute{#1}{glossname}{firstuc}% {% \glsnameaccessdisplay {% - \glsnamefont{\Glsentryname{#1}}% + \@glsxtr@glossnamefont{\Glsentryname{#1}}% }% {#1}% }% @@ -2775,7 +2901,7 @@ want \@glsxtr@do@titlecaps@warn \glsnameaccessdisplay {% - \glsnamefont{\glsxtrfieldtitlecase{#1}{name}}% + \@glsxtr@glossnamefont{\glsxtrfieldtitlecase{#1}{name}}% }% {#1}% }% @@ -2785,7 +2911,7 @@ want \glsnameaccessdisplay {% \letcs{\glo@name}{glo@\glsdetoklabel{#1}@name}% - \glsnamefont{\mfirstucMakeUppercase{\glo@name}}% + \@glsxtr@glossnamefont{\mfirstucMakeUppercase{\glo@name}}% }% {#1}% }% @@ -2793,7 +2919,7 @@ want \letcs{\glo@name}{glo@\glsdetoklabel{#1}@name}% \glsnameaccessdisplay {% - \expandafter\glsnamefont\expandafter{\glo@name}% + \expandafter\@glsxtr@glossnamefont\expandafter{\glo@name}% }% {#1}% }% @@ -2808,30 +2934,45 @@ want \glsdoifexistsorwarn{#1}% {% \glssetabbrvfmt{\glscategory{#1}}% + \glshasattribute{#1}{glossnamefont}% + {% + \edef\@glsxtr@attrval{\glsgetattribute{#1}{glossnamefont}}% + \ifcsdef{\@glsxtr@attrval}% + {% + \letcs{\@glsxtr@glossnamefont}{\@glsxtr@attrval}% + }% + {% + \GlossariesExtraWarning{Unknown control sequence name + `\@glsxtr@attrval' supplied in glossnamefont attribute + for entry `#1'. Reverting to default \string\glsnamefont}% + \let\@glsxtr@glossnamefont\glsnamefont + }% + }% + {\let\@glsxtr@glossnamefont\glsnamefont}% \glsifattribute{#1}{glossname}{firstuc}% {% - \glsnamefont{\Glsentryname{#1}}% + \@glsxtr@glossnamefont{\Glsentryname{#1}}% }% {% \glsifattribute{#1}{glossname}{title}% {% \@glsxtr@do@titlecaps@warn - \glsnamefont{\glsxtrfieldtitlecase{#1}{name}}% + \@glsxtr@glossnamefont{\glsxtrfieldtitlecase{#1}{name}}% }% {% \glsifattribute{#1}{glossname}{uc}% {% \letcs{\glo@name}{glo@\glsdetoklabel{#1}@name}% - \glsnamefont{\mfirstucMakeUppercase{\glo@name}}% + \@glsxtr@glossnamefont{\mfirstucMakeUppercase{\glo@name}}% }% {% \letcs{\glo@name}{glo@\glsdetoklabel{#1}@name}% - \expandafter\glsnamefont\expandafter{\glo@name}% + \expandafter\@glsxtr@glossnamefont\expandafter{\glo@name}% }% }% }% + \glsxtrpostnamehook{#1}% }% - \glsxtrpostnamehook{#1}% } } \@ifpackageloaded{glossaries-accsupp} @@ -2840,9 +2981,24 @@ want \glsdoifexistsorwarn{#1}% {% \glssetabbrvfmt{\glscategory{#1}}% + \glshasattribute{#1}{glossnamefont}% + {% + \edef\@glsxtr@attrval{\glsgetattribute{#1}{glossnamefont}}% + \ifcsdef{\@glsxtr@attrval}% + {% + \letcs{\@glsxtr@glossnamefont}{\@glsxtr@attrval}% + }% + {% + \GlossariesExtraWarning{Unknown control sequence name + `\@glsxtr@attrval' supplied in glossnamefont attribute + for entry `#1'. Reverting to default \string\glsnamefont}% + \let\@glsxtr@glossnamefont\glsnamefont + }% + }% + {\let\@glsxtr@glossnamefont\glsnamefont}% \glsnameaccessdisplay {% - \glsnamefont{\Glsentryname{#1}}% + \@glsxtr@glossnamefont{\Glsentryname{#1}}% }% {#1}% \glsxtrpostnamehook{#1}% @@ -2854,7 +3010,22 @@ want \glsdoifexistsorwarn{#1}% {% \glssetabbrvfmt{\glscategory{#1}}% - \glsnamefont{\Glsentryname{#1}}% + \glshasattribute{#1}{glossnamefont}% + {% + \edef\@glsxtr@attrval{\glsgetattribute{#1}{glossnamefont}}% + \ifcsdef{\@glsxtr@attrval}% + {% + \letcs{\@glsxtr@glossnamefont}{\@glsxtr@attrval}% + }% + {% + \GlossariesExtraWarning{Unknown control sequence name + `\@glsxtr@attrval' supplied in glossnamefont attribute + for entry `#1'. Reverting to default \string\glsnamefont}% + \let\@glsxtr@glossnamefont\glsnamefont + }% + }% + {\let\@glsxtr@glossnamefont\glsnamefont}% + \@glsxtr@glossnamefont{\Glsentryname{#1}}% \glsxtrpostnamehook{#1}% }% } @@ -2862,6 +3033,7 @@ want \newcommand*{\glsxtrpostnamehook}[1]{% \def\@glsnumberformat{glsnumberformat}% \glsxtrdoautoindexname{#1}{indexname}% + \csuse{glsxtrpostname\glscategory{\glscurrententrylabel}}% } \newif\if@glsxtr@format@override \@glsxtr@format@overridefalse @@ -3105,8 +3277,11 @@ want \@glsxtr@activate@initialtagging \let\@glsxtr@org@postdescription\glspostdescription \renewcommand*{\glspostdescription}{% - \glsxtrpostdescription - \@glsxtr@org@postdescription + \ifglsentryexists{\glscurrententrylabel}% + {% + \glsxtrpostdescription + \@glsxtr@org@postdescription + }{}% }% }% } @@ -3225,7 +3400,10 @@ want \edef\glscategorylabel{#1}% \ifcsdef{@glsabbrv@current@#1}% {% + \let\@glsxtr@orgwarndep\GlsXtrWarnDeprecatedAbbrStyle + \let\GlsXtrWarnDeprecatedAbbrStyle\@gobbletwo \glsxtr@applyabbrvstyle{\csname @glsabbrv@current@#1\endcsname}% + \let\GlsXtrWarnDeprecatedAbbrStyle\@glsxtr@orgwarndep }% {}% } @@ -3352,8 +3530,10 @@ want \newcommand*{\glsfirstabbrvdefaultfont}[1]{\glsabbrvfont{#1}} \newcommand*{\glsabbrvfont}[1]{\glsabbrvdefaultfont{#1}} \newcommand*{\glsabbrvdefaultfont}[1]{#1} -\newcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{#1}} -\newcommand*{\glsfirstlongdefaultfont}[1]{#1} +\newcommand*{\glslongfont}[1]{\glslongdefaultfont{#1}} +\newcommand*{\glslongdefaultfont}[1]{#1} +\newcommand*{\glsfirstlongfont}[1]{\glslongfont{#1}} +\newcommand*{\glsfirstlongdefaultfont}[1]{\glslongdefaultfont{#1}} \newcommand*{\abbrvpluralsuffix}{\glspluralsuffix} \newrobustcmd*{\glsxtrfull}{\@gls@hyp@opt\ns@glsxtrfull} \newcommand*\ns@glsxtrfull[2][]{% @@ -3486,7 +3666,8 @@ want \let\glscapscase\@firstofthree \let\glsinsert\@empty \def\glscustomtext{% - \glsabbrvfont{\glsaccessshort{#2}}#3% + \glsabbrvfont{\glsaccessshort{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% @@ -3506,7 +3687,8 @@ want \let\glscapscase\@secondofthree \let\glsinsert\@empty \def\glscustomtext{% - \glsabbrvfont{\Glsaccessshort{#2}}#3% + \glsabbrvfont{\Glsaccessshort{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% @@ -3526,7 +3708,10 @@ want \let\glscapscase\@thirdofthree \let\glsinsert\@empty \def\glscustomtext{% - \mfirstucMakeUppercase{\glsabbrvfont{\glsaccessshort{#2}}#3}% + \mfirstucMakeUppercase + {\glsabbrvfont{\glsaccessshort{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi + }% }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% @@ -3544,7 +3729,10 @@ want \let\glsifplural\@secondoftwo \let\glscapscase\@firstofthree \let\glsinsert\@empty - \def\glscustomtext{\glsaccesslong{#2}#3}% + \def\glscustomtext{% + \glslongfont{\glsaccesslong{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi + }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% \glspostlinkhook @@ -3561,7 +3749,10 @@ want \let\glsifplural\@secondoftwo \let\glscapscase\@secondofthree \let\glsinsert\@empty - \def\glscustomtext{\Glsaccesslong{#2}#3}% + \def\glscustomtext{% + \glslongfont{\Glsaccesslong{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi + }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% \glspostlinkhook @@ -3578,7 +3769,12 @@ want \let\glsifplural\@secondoftwo \let\glscapscase\@thirdofthree \let\glsinsert\@empty - \def\glscustomtext{\mfirstucMakeUppercase{\glsaccesslong{#2}#3}}% + \def\glscustomtext{% + \mfirstucMakeUppercase + {\glslongfont{\glsaccesslong{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi + }% + }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% \glspostlinkhook @@ -3597,7 +3793,8 @@ want \let\glscapscase\@firstofthree \let\glsinsert\@empty \def\glscustomtext{% - \glsabbrvfont{\glsaccessshortpl{#2}}#3% + \glsabbrvfont{\glsaccessshortpl{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% @@ -3617,7 +3814,8 @@ want \let\glscapscase\@secondofthree \let\glsinsert\@empty \def\glscustomtext{% - \glsabbrvfont{\Glsaccessshortpl{#2}}#3% + \glsabbrvfont{\Glsaccessshortpl{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% @@ -3637,7 +3835,10 @@ want \let\glscapscase\@thirdofthree \let\glsinsert\@empty \def\glscustomtext{% - \mfirstucMakeUppercase{\glsabbrvfont{\glsaccessshortpl{#2}}#3}% + \mfirstucMakeUppercase + {\glsabbrvfont{\glsaccessshortpl{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi + }% }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% @@ -3655,7 +3856,10 @@ want \let\glsifplural\@firstoftwo \let\glscapscase\@firstofthree \let\glsinsert\@empty - \def\glscustomtext{\glsaccesslongpl{#2}#3}% + \def\glscustomtext{% + \glslongfont{\glsaccesslongpl{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi + }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% \glspostlinkhook @@ -3672,7 +3876,10 @@ want \let\glsifplural\@firstoftwo \let\glscapscase\@secondofthree \let\glsinsert\@empty - \def\glscustomtext{\Glsaccesslongpl{#2}#3}% + \def\glscustomtext{% + \glslongfont{\Glsaccesslongpl{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi + }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% \glspostlinkhook @@ -3689,7 +3896,12 @@ want \let\glsifplural\@firstoftwo \let\glscapscase\@thirdofthree \let\glsinsert\@empty - \def\glscustomtext{\mfirstucMakeUppercase{\glsaccesslongpl{#2}#3}}% + \def\glscustomtext{% + \mfirstucMakeUppercase + {\glslongfont{\glsaccesslongpl{#2}\ifglsxtrinsertinside#3\fi}% + \ifglsxtrinsertinside\else#3\fi + }% + }% \@gls@link[#1]{#2}{\csname gls@\glstype @entryfmt\endcsname}% }% \glspostlinkhook @@ -3801,7 +4013,7 @@ want \csuse{@glsabbrv@dispstyle@fmts@#1}% } \newcommand*{\newabbreviationstyle}[3]{% - \ifcsdef{@glsabbrv@dispstyle@#1} + \ifcsdef{@glsabbrv@dispstyle@setup@#1} {% \PackageError{glossaries-extra}{Abbreviation style `#1' already defined}{}% @@ -3818,6 +4030,38 @@ want #3}% }% } +\newcommand*{\renewabbreviationstyle}[3]{% + \ifcsundef{@glsabbrv@dispstyle@setup@#1} + {% + \PackageError{glossaries-extra}{Abbreviation style `#1' not defined}{}% + }% + {% + \csdef{@glsabbrv@dispstyle@setup@#1}{% + \renewcommand*{\GlsXtrPostNewAbbreviation}{}% + #2}% + \csdef{@glsabbrv@dispstyle@fmts@#1}{% + \renewcommand*{\glsxtrinlinefullformat}{\glsxtrfullformat}% + \renewcommand*{\Glsxtrinlinefullformat}{\Glsxtrfullformat}% + \renewcommand*{\glsxtrinlinefullplformat}{\glsxtrfullplformat}% + \renewcommand*{\Glsxtrinlinefullplformat}{\Glsxtrfullplformat}% + #3}% + }% +} +\newcommand*{\letabbreviationstyle}[2]{% + \csletcs{@glsabbrv@dispstyle@setup@#1}{@glsabbrv@dispstyle@setup@#2}% + \csletcs{@glsabbrv@dispstyle@fmts@#1}{@glsabbrv@dispstyle@fmts@#2}% +} +\newcommand*{\@glsxtr@deprecated@abbrstyle}[2]{% + \csdef{@glsabbrv@dispstyle@setup@#1}{% + \GlsXtrWarnDeprecatedAbbrStyle{#1}{#2}% + \csuse{@glsabbrv@dispstyle@setup@#2}% + }% + \csletcs{@glsabbrv@dispstyle@fmts@#1}{@glsabbrv@dispstyle@fmts@#2}% +} +\newcommand*{\GlsXtrWarnDeprecatedAbbrStyle}[2]{% + \GlossariesExtraWarning{Deprecated abbreviation style name `#1', + use `#2' instead}% +} \newcommand*{\GlsXtrUseAbbrStyleSetup}[1]{% \ifcsundef{@glsabbrv@dispstyle@setup@#1}% {% @@ -3866,6 +4110,7 @@ want \renewcommand*{\glsabbrvfont}[1]{\glsabbrvdefaultfont{##1}}% \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% \renewcommand*{\glsxtrfullformat}[2]{% \glsfirstlongfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% \ifglsxtrinsertinside\else##2\fi @@ -3889,11 +4134,12 @@ want }% } \setabbreviationstyle{long-short} +\newcommand*{\glsxtrlongshortdescsort}{\the\glslongtok\space(\the\glsshorttok)} \newabbreviationstyle{long-short-desc}% {% \renewcommand*{\CustomAbbreviationFields}{% name={\protect\glsxtrfullformat{\the\glslabeltok}{}}, - sort={\the\glsshorttok},% + sort={\glsxtrlongshortdescsort},% first={\protect\glsfirstlongfont{\the\glslongtok}% \protect\glsxtrfullsep{\the\glslabeltok}% (\protect\glsfirstabbrvfont{\the\glsshorttok})},% @@ -3938,6 +4184,7 @@ want \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}\ifglsxtrinsertinside##2\fi}% \ifglsxtrinsertinside\else##2\fi @@ -4009,6 +4256,7 @@ want \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}\ifglsxtrinsertinside##2\fi}% \ifglsxtrinsertinside\else##2\fi @@ -4050,6 +4298,7 @@ want (\glsfirstlongfont{\glsaccesslongpl{##1}})% }% } +\letabbreviationstyle{short-footnote}{footnote} \newabbreviationstyle{postfootnote}% {% \renewcommand*{\CustomAbbreviationFields}{% @@ -4085,6 +4334,7 @@ want \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}\ifglsxtrinsertinside##2\fi}% \ifglsxtrinsertinside\else##2\fi @@ -4122,6 +4372,7 @@ want (\glsfirstlongfont{\glsaccesslongpl{##1}})% }% } +\letabbreviationstyle{short-postfootnote}{postfootnote} \newabbreviationstyle{short}% {% \renewcommand*{\CustomAbbreviationFields}{% @@ -4140,6 +4391,7 @@ want \renewcommand*\glsabbrvfont[1]{\glsabbrvdefaultfont{##1}}% \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% \renewcommand*{\glsxtrinlinefullformat}[2]{% \protect\glsfirstabbrvfont{\glsaccessshort{##1}% \ifglsxtrinsertinside##2\fi}% @@ -4182,6 +4434,7 @@ want }% } \setabbreviationstyle[acronym]{short} +\letabbreviationstyle{short-nolong}{short} \newabbreviationstyle{short-desc}% {% \renewcommand*{\CustomAbbreviationFields}{% @@ -4200,6 +4453,7 @@ want \renewcommand*\glsabbrvfont[1]{\glsabbrvdefaultfont{##1}}% \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% \renewcommand*{\glsxtrinlinefullformat}[2]{% \glsfirstabbrvfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% @@ -4237,6 +4491,7 @@ want \ifglsxtrinsertinside\else##2\fi }% } +\letabbreviationstyle{short-nolong-desc}{short-desc} \newabbreviationstyle{long-desc}% {% \renewcommand*{\CustomAbbreviationFields}{% @@ -4255,6 +4510,7 @@ want \renewcommand*\glsabbrvfont[1]{\glsabbrvdefaultfont{##1}}% \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvdefaultfont{##1}}% \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongdefaultfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongdefaultfont{##1}}% \renewcommand*{\glsxtrinlinefullformat}[2]{% \glsfirstlongfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% \ifglsxtrinsertinside\else##2\fi\glsxtrfullsep{##1}% @@ -4292,6 +4548,7 @@ want \ifglsxtrinsertinside\else##2\fi }% } +\letabbreviationstyle{long-noshort-desc}{long-desc} \newabbreviationstyle{long}% {% \renewcommand*{\CustomAbbreviationFields}{% @@ -4309,7 +4566,9 @@ want {% \GlsXtrUseAbbrStyleFmts{long-desc}% } +\letabbreviationstyle{long-noshort}{long} \newcommand*{\glsxtrscfont}[1]{\textsc{#1}} +\newcommand*{\glsxtrfirstscfont}[1]{\glsxtrscfont{#1}} \newcommand*{\glsxtrscsuffix}{\glstextup{\glspluralsuffix}} \newabbreviationstyle{long-short-sc}% {% @@ -4319,6 +4578,7 @@ want \GlsXtrUseAbbrStyleFmts{long-short}% \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrscsuffix}% \renewcommand*\glsabbrvfont[1]{\glsxtrscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstscfont{##1}}% } \newabbreviationstyle{long-short-sc-desc}% {% @@ -4328,6 +4588,7 @@ want \GlsXtrUseAbbrStyleFmts{long-short-desc}% \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrscsuffix}% \renewcommand*\glsabbrvfont[1]{\glsxtrscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstscfont{##1}}% } \newabbreviationstyle{short-sc-long}% {% @@ -4337,6 +4598,7 @@ want \GlsXtrUseAbbrStyleFmts{short-long}% \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrscsuffix}% \renewcommand*\glsabbrvfont[1]{\glsxtrscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstscfont{##1}}% } \newabbreviationstyle{short-sc-long-desc}% {% @@ -4346,16 +4608,19 @@ want \GlsXtrUseAbbrStyleFmts{short-long-desc}% \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrscsuffix}% \renewcommand*\glsabbrvfont[1]{\glsxtrscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstscfont{##1}}% } \newabbreviationstyle{short-sc}% {% - \GlsXtrUseAbbrStyleSetup{short}% + \GlsXtrUseAbbrStyleSetup{short-nolong}% }% {% - \GlsXtrUseAbbrStyleFmts{short}% + \GlsXtrUseAbbrStyleFmts{short-nolong}% \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrscsuffix}% \renewcommand*\glsabbrvfont[1]{\glsxtrscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstscfont{##1}}% } +\letabbreviationstyle{short-sc-nolong}{short-sc} \newabbreviationstyle{short-sc-desc}% {% \GlsXtrUseAbbrStyleSetup{short-desc}% @@ -4364,44 +4629,55 @@ want \GlsXtrUseAbbrStyleFmts{short-desc}% \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrscsuffix}% \renewcommand*\glsabbrvfont[1]{\glsxtrscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstscfont{##1}}% } -\newabbreviationstyle{long-sc}% +\letabbreviationstyle{short-sc-nolong-desc}{short-sc-desc} +\newabbreviationstyle{long-noshort-sc}% {% - \GlsXtrUseAbbrStyleSetup{long}% + \GlsXtrUseAbbrStyleSetup{long-noshort}% }% {% - \GlsXtrUseAbbrStyleFmts{long}% + \GlsXtrUseAbbrStyleFmts{long-noshort}% \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrscsuffix}% \renewcommand*\glsabbrvfont[1]{\glsxtrscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstscfont{##1}}% } -\newabbreviationstyle{long-desc-sc}% +\@glsxtr@deprecated@abbrstyle{long-sc}{long-noshort-sc} +\newabbreviationstyle{long-noshort-sc-desc}% {% - \GlsXtrUseAbbrStyleSetup{long-desc}% + \GlsXtrUseAbbrStyleSetup{long-noshort-desc}% }% {% - \GlsXtrUseAbbrStyleFmts{long-desc}% + \GlsXtrUseAbbrStyleFmts{long-noshort-desc}% \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrscsuffix}% \renewcommand*\glsabbrvfont[1]{\glsxtrscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstscfont{##1}}% } -\newabbreviationstyle{footnote-sc}% +\@glsxtr@deprecated@abbrstyle{long-desc-sc}{long-noshort-sc-desc} +\newabbreviationstyle{short-sc-footnote}% {% - \GlsXtrUseAbbrStyleSetup{footnote}% + \GlsXtrUseAbbrStyleSetup{short-footnote}% }% {% - \GlsXtrUseAbbrStyleFmts{footnote}% + \GlsXtrUseAbbrStyleFmts{short-footnote}% \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrscsuffix}% \renewcommand*\glsabbrvfont[1]{\glsxtrscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstscfont{##1}}% } -\newabbreviationstyle{postfootnote-sc}% +\@glsxtr@deprecated@abbrstyle{footnote-sc}{short-sc-footnote} +\newabbreviationstyle{short-sc-postfootnote}% {% - \GlsXtrUseAbbrStyleSetup{postfootnote}% + \GlsXtrUseAbbrStyleSetup{short-postfootnote}% }% {% - \GlsXtrUseAbbrStyleFmts{postfootnote}% + \GlsXtrUseAbbrStyleFmts{short-postfootnote}% \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrscsuffix}% \renewcommand*\glsabbrvfont[1]{\glsxtrscfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstscfont{##1}}% } +\@glsxtr@deprecated@abbrstyle{postfootnote-sc}{short-sc-postfootnote} \newcommand*{\glsxtrsmfont}[1]{\textsmaller{#1}} +\newcommand*{\glsxtrfirstsmfont}[1]{\glsxtrsmfont{#1}} \newcommand*{\glsxtrsmsuffix}{\glspluralsuffix} \newabbreviationstyle{long-short-sm}% {% @@ -4410,6 +4686,7 @@ want {% \GlsXtrUseAbbrStyleFmts{long-short}% \renewcommand*\glsabbrvfont[1]{\glsxtrsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstsmfont{##1}}% \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrsmsuffix}% } \newabbreviationstyle{long-short-sm-desc}% @@ -4419,6 +4696,7 @@ want {% \GlsXtrUseAbbrStyleFmts{long-short-desc}% \renewcommand*\glsabbrvfont[1]{\glsxtrsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstsmfont{##1}}% \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrsmsuffix}% } \newabbreviationstyle{short-sm-long}% @@ -4428,6 +4706,7 @@ want {% \GlsXtrUseAbbrStyleFmts{short-long}% \renewcommand*\glsabbrvfont[1]{\glsxtrsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstsmfont{##1}}% \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrsmsuffix}% } \newabbreviationstyle{short-sm-long-desc}% @@ -4437,69 +4716,86 @@ want {% \GlsXtrUseAbbrStyleFmts{short-long-desc}% \renewcommand*\glsabbrvfont[1]{\glsxtrsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstsmfont{##1}}% \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrsmsuffix}% } \newabbreviationstyle{short-sm}% {% - \GlsXtrUseAbbrStyleSetup{short}% + \GlsXtrUseAbbrStyleSetup{short-nolong}% }% {% - \GlsXtrUseAbbrStyleFmts{short}% + \GlsXtrUseAbbrStyleFmts{short-nolong}% \renewcommand*\glsabbrvfont[1]{\glsxtrsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstsmfont{##1}}% \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrsmsuffix}% } +\letabbreviationstyle{short-sm-nolong}{short-sm} \newabbreviationstyle{short-sm-desc}% {% - \GlsXtrUseAbbrStyleSetup{short-desc}% + \GlsXtrUseAbbrStyleSetup{short-nolong-desc}% }% {% - \GlsXtrUseAbbrStyleFmts{short-desc}% + \GlsXtrUseAbbrStyleFmts{short-nolong-desc}% \renewcommand*\glsabbrvfont[1]{\glsxtrsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstsmfont{##1}}% \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrsmsuffix}% } -\newabbreviationstyle{long-sm}% +\letabbreviationstyle{short-sm-nolong-desc}{short-sm-desc} +\newabbreviationstyle{long-noshort-sm}% {% - \GlsXtrUseAbbrStyleSetup{long}% + \GlsXtrUseAbbrStyleSetup{long-noshort}% }% {% - \GlsXtrUseAbbrStyleFmts{long}% + \GlsXtrUseAbbrStyleFmts{long-noshort}% \renewcommand*\glsabbrvfont[1]{\glsxtrsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstsmfont{##1}}% \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrsmsuffix}% } -\newabbreviationstyle{long-desc-sm}% +\@glsxtr@deprecated@abbrstyle{long-sm}{long-noshort-sm} +\newabbreviationstyle{long-noshort-sm-desc}% {% - \GlsXtrUseAbbrStyleSetup{long-desc}% + \GlsXtrUseAbbrStyleSetup{long-noshort-desc}% }% {% - \GlsXtrUseAbbrStyleFmts{long-desc}% + \GlsXtrUseAbbrStyleFmts{long-noshort-desc}% \renewcommand*\glsabbrvfont[1]{\glsxtrsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstsmfont{##1}}% \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrsmsuffix}% } -\newabbreviationstyle{footnote-sm}% +\@glsxtr@deprecated@abbrstyle{long-desc-sm}{long-noshort-sm-desc} +\newabbreviationstyle{short-sm-footnote}% {% - \GlsXtrUseAbbrStyleSetup{footnote}% + \GlsXtrUseAbbrStyleSetup{short-footnote}% }% {% - \GlsXtrUseAbbrStyleFmts{footnote}% + \GlsXtrUseAbbrStyleFmts{short-footnote}% \renewcommand*\glsabbrvfont[1]{\glsxtrsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstsmfont{##1}}% \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrsmsuffix}% } -\newabbreviationstyle{postfootnote-sm}% +\@glsxtr@deprecated@abbrstyle{footnote-sm}{short-sm-footnote} +\newabbreviationstyle{short-sm-postfootnote}% {% - \GlsXtrUseAbbrStyleSetup{postfootnote}% + \GlsXtrUseAbbrStyleSetup{short-postfootnote}% }% {% - \GlsXtrUseAbbrStyleFmts{postfootnote}% + \GlsXtrUseAbbrStyleFmts{short-postfootnote}% \renewcommand*\glsabbrvfont[1]{\glsxtrsmfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsxtrfirstsmfont{##1}}% \renewcommand*{\abbrvpluralsuffix}{\protect\glsxtrsmsuffix}% } +\@glsxtr@deprecated@abbrstyle{postfootnote-sm}{short-sm-postfootnote} +\newcommand*{\glsabbrvemfont}[1]{\emph{#1}}% +\newcommand*{\glsfirstabbrvemfont}[1]{\glsabbrvemfont{#1}}% +\newcommand*{\glsfirstlongemfont}[1]{\glslongemfont{#1}}% +\newcommand*{\glslongemfont}[1]{\emph{#1}}% \newabbreviationstyle{long-short-em}% {% \GlsXtrUseAbbrStyleSetup{long-short}% }% {% \GlsXtrUseAbbrStyleFmts{long-short}% - \renewcommand*\glsabbrvfont[1]{\emph{##1}}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% } \newabbreviationstyle{long-short-em-desc}% {% @@ -4507,7 +4803,46 @@ want }% {% \GlsXtrUseAbbrStyleFmts{long-short-desc}% - \renewcommand*\glsabbrvfont[1]{\emph{##1}}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% +} +\newabbreviationstyle{long-em-short-em}% +{% + \renewcommand*{\CustomAbbreviationFields}{% + name={\protect\glsabbrvfont{\the\glsshorttok}}, + sort={\the\glsshorttok}, + first={\protect\glsfirstlongfont{\the\glslongtok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + (\protect\glsfirstabbrvfont{\the\glsshorttok})},% + firstplural={\protect\glsfirstlongfont{\the\glslongpltok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + (\protect\glsfirstabbrvfont{\the\glsshortpltok})},% + plural={\protect\glsabbvfont{\the\glsshortpltok}},% + description={\protect\glslongemfont{\the\glslongtok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-short}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongemfont{##1}}% +} +\newabbreviationstyle{long-em-short-em-desc}% +{% + \GlsXtrUseAbbrStyleSetup{long-short-desc}% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-short-desc}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongemfont{##1}}% } \newabbreviationstyle{short-em-long}% {% @@ -4515,7 +4850,10 @@ want }% {% \GlsXtrUseAbbrStyleFmts{short-long}% - \renewcommand*\glsabbrvfont[1]{\emph{##1}}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongemfont{##1}}% } \newabbreviationstyle{short-em-long-desc}% {% @@ -4523,55 +4861,266 @@ want }% {% \GlsXtrUseAbbrStyleFmts{short-long-desc}% - \renewcommand*\glsabbrvfont[1]{\emph{##1}}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*\glsfirstabbrvfont[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongemfont{##1}}% +} +\newabbreviationstyle{short-em-long-em}% +{% + \renewcommand*{\CustomAbbreviationFields}{% + name={\protect\glsabbrvfont{\the\glsshorttok}}, + sort={\the\glsshorttok}, + description={\protect\glslongemfont{\the\glslongtok}},% + first={\protect\glsfirstabbrvfont{\the\glsshorttok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + (\protect\glsfirstlongfont{\the\glslongtok})},% + firstplural={\protect\glsfirstabbrvfont{\the\glsshortpltok}% + \protect\glsxtrfullsep{\the\glslabeltok}% + (\protect\glsfirstlongfont{\the\glslongpltok})},% + plural={\protect\glsabbvfont{\the\glsshortpltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-long}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongemfont{##1}}% +} +\newabbreviationstyle{short-em-long-em-desc}% +{% + \GlsXtrUseAbbrStyleSetup{short-long-desc}% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-long-desc}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongemfont{##1}}% } \newabbreviationstyle{short-em}% {% - \GlsXtrUseAbbrStyleSetup{short}% + \GlsXtrUseAbbrStyleSetup{short-nolong}% }% {% - \GlsXtrUseAbbrStyleFmts{short}% - \renewcommand*\glsabbrvfont[1]{\emph{##1}}% + \GlsXtrUseAbbrStyleFmts{short-nolong}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% } +\letabbreviationstyle{short-em-nolong}{short-em} \newabbreviationstyle{short-em-desc}% {% - \GlsXtrUseAbbrStyleSetup{short-desc}% + \GlsXtrUseAbbrStyleSetup{short-nolong-desc}% }% {% - \GlsXtrUseAbbrStyleFmts{short-desc}% - \renewcommand*\glsabbrvfont[1]{\emph{##1}}% + \GlsXtrUseAbbrStyleFmts{short-nolong-desc}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% +} +\letabbreviationstyle{short-em-nolong-desc}{short-em-desc} +\newabbreviationstyle{long-noshort-em}% +{% + \GlsXtrUseAbbrStyleSetup{long-noshort}% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-noshort}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% +} +\@glsxtr@deprecated@abbrstyle{long-em}{long-noshort-em} +\newabbreviationstyle{long-em-noshort-em}% +{% + \renewcommand*{\CustomAbbreviationFields}{% + name={\protect\glsabbrvfont{\the\glsshorttok}}, + sort={\the\glsshorttok}, + first={\protect\glsfirstlongfont{\the\glslongtok}}, + firstplural={\protect\glsfirstlongfont{\the\glslongpltok}}, + text={\the\glslongtok}, + plural={\the\glslongpltok},% + description={\protect\glslongemfont{\the\glslongtok}}% + }% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glssetattribute{\the\glslabeltok}{regular}{true}}% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-noshort}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongemfont{##1}}% } -\newabbreviationstyle{long-em}% +\newabbreviationstyle{long-noshort-em-desc}% {% - \GlsXtrUseAbbrStyleSetup{long}% + \GlsXtrUseAbbrStyleSetup{long-noshort-desc}% }% {% - \GlsXtrUseAbbrStyleFmts{long}% - \renewcommand*\glsabbrvfont[1]{\emph{##1}}% + \GlsXtrUseAbbrStyleFmts{long-noshort-desc}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% } -\newabbreviationstyle{long-desc-em}% +\@glsxtr@deprecated@abbrstyle{long-desc-em}{long-noshort-em-desc} +\newabbreviationstyle{long-em-noshort-em-desc}% {% - \GlsXtrUseAbbrStyleSetup{long-desc}% + \GlsXtrUseAbbrStyleSetup{long-noshort-desc}% }% {% - \GlsXtrUseAbbrStyleFmts{long-desc}% - \renewcommand*\glsabbrvfont[1]{\emph{##1}}% + \GlsXtrUseAbbrStyleFmts{long-noshort-desc}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlongemfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslongemfont{##1}}% } -\newabbreviationstyle{footnote-em}% +\newabbreviationstyle{short-em-footnote}% {% - \GlsXtrUseAbbrStyleSetup{footnote}% + \GlsXtrUseAbbrStyleSetup{short-footnote}% }% {% - \GlsXtrUseAbbrStyleFmts{footnote}% - \renewcommand*\glsabbrvfont[1]{\emph{##1}}% + \GlsXtrUseAbbrStyleFmts{short-footnote}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% } -\newabbreviationstyle{postfootnote-em}% +\@glsxtr@deprecated@abbrstyle{footnote-em}{short-em-footnote} +\newabbreviationstyle{short-em-postfootnote}% {% - \GlsXtrUseAbbrStyleSetup{postfootnote}% + \GlsXtrUseAbbrStyleSetup{short-postfootnote}% +}% +{% + \GlsXtrUseAbbrStyleFmts{short-postfootnote}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvemfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvemfont{##1}}% +} +\@glsxtr@deprecated@abbrstyle{postfootnote-em}{short-em-postfootnote} +\newcommand*{\glsxtruserfield}{useri} +\ifdef\glscurrentfieldvalue +{ + \newcommand*{\glsxtruserparen}[2]{% + \glsxtrfullsep{#2}% + (#1\ifglshasfield{\glsxtruserfield}{#2}{, \glscurrentfieldvalue}{})% + } +} +{ + \newcommand*{\glsxtruserparen}[2]{% + \glsxtrfullsep{#2}% + (#1\ifglshasfield{\glsxtruserfield}{#2}{, \@glo@thisvalue}{})% + } +} +\newcommand*{\glsabbrvuserfont}[1]{#1} +\newcommand*{\glsfirstabbrvuserfont}[1]{\glsabbrvuserfont{#1}} +\newcommand*{\glslonguserfont}[1]{#1} +\newcommand*{\glsfirstlonguserfont}[1]{\glslonguserfont{#1}} +\newcommand*{\glsxtrusersuffix}{\glspluralsuffix} +\newabbreviationstyle{long-short-user}% +{% + \renewcommand*{\CustomAbbreviationFields}{% + name={\protect\glsabbrvfont{\the\glsshorttok}}, + sort={\the\glsshorttok}, + first={\protect\glsfirstlongfont{\the\glslongtok}% + \protect\glsxtruserparen{\protect\glsfirstabbrvfont{\the\glsshorttok}}{\the\glslabeltok}},% + firstplural={\protect\glsfirstlongfont{\the\glslongpltok}% + \protect\glsxtruserparen{\protect\glsfirstabbrvfont{\the\glsshortpltok}}{\the\glslabeltok}},% + plural={\protect\glsabbvfont{\the\glsshortpltok}},% + description={\protect\glslonguserfont{\the\glslongtok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrusersuffix}% + \renewcommand*{\glsabbrvfont}[1]{\glsabbrvuserfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvuserfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonguserfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslonguserfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstlongfont{\glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstabbrvfont{\glsaccessshort{##1}}}{##1}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstlongfont{\glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstabbrvfont{\glsaccessshortpl{##1}}}{##1}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstlongfont{\Glsaccesslong{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstabbrvfont{\glsaccessshort{##1}}}{##1}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstlongfont{\Glsaccesslongpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstabbrvfont{\glsaccessshortpl{##1}}}{##1}% + }% +} +\newabbreviationstyle{long-short-user-desc}% +{% + \GlsXtrUseAbbrStyleSetup{long-short-desc}% +}% +{% + \GlsXtrUseAbbrStyleFmts{long-short-user}% +} +\newabbreviationstyle{short-long-user}% +{% + \renewcommand*{\CustomAbbreviationFields}{% + name={\protect\glsabbrvfont{\the\glsshorttok}}, + sort={\the\glsshorttok}, + description={\protect\glslonguserfont{\the\glslongtok}},% + first={\protect\glsfirstabbrvfont{\the\glsshorttok}% + \protect\glsxtruserparen{\protect\glslonguserfont{\the\glslongtok}}{\the\glslabeltok}},% + firstplural={\protect\glsfirstabbrvfont{\the\glsshortpltok}% + \protect\glsxtruserparen{\protect\glslonguserfont{\the\glslongpltok}}{\the\glslabeltok}},% + plural={\protect\glsabbvfont{\the\glsshortpltok}}}% + \renewcommand*{\GlsXtrPostNewAbbreviation}{% + \glshasattribute{\the\glslabeltok}{regular}% + {% + \glssetattribute{\the\glslabeltok}{regular}{false}% + }% + {}% + }% +}% +{% + \renewcommand*{\abbrvpluralsuffix}{\glsxtrusersuffix}% + \renewcommand*\glsabbrvfont[1]{\glsabbrvuserfont{##1}}% + \renewcommand*{\glsfirstabbrvfont}[1]{\glsfirstabbrvuserfont{##1}}% + \renewcommand*{\glsfirstlongfont}[1]{\glsfirstlonguserfont{##1}}% + \renewcommand*{\glslongfont}[1]{\glslonguserfont{##1}}% + \renewcommand*{\glsxtrfullformat}[2]{% + \glsfirstabbrvfont{\glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstlongfont{\glsaccesslong{##1}}}{##1}% + }% + \renewcommand*{\glsxtrfullplformat}[2]{% + \glsfirstabbrvfont{\glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstlongfont{\glsaccesslongpl{##1}}}{##1}% + }% + \renewcommand*{\Glsxtrfullformat}[2]{% + \glsfirstabbrvfont{\Glsaccessshort{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstlongfont{\glsaccesslong{##1}}}{##1}% + }% + \renewcommand*{\Glsxtrfullplformat}[2]{% + \glsfirstabbrvfont{\Glsaccessshortpl{##1}\ifglsxtrinsertinside##2\fi}% + \ifglsxtrinsertinside\else##2\fi + \glsxtruserparen{\glsfirstlongfont{\glsaccesslongpl{##1}}}{##1}% + }% +} +\newabbreviationstyle{short-long-user-desc}% +{% + \GlsXtrUseAbbrStyleSetup{short-long-desc}% }% {% - \GlsXtrUseAbbrStyleFmts{postfootnote}% - \renewcommand*\glsabbrvfont[1]{\emph{##1}}% + \GlsXtrUseAbbrStyleFmts{short-long-user}% } \let\@glsxtr@org@markright\markright \renewcommand*{\markright}[1]{% @@ -5221,6 +5770,7 @@ want } {} \@glsxtr@redefstyles +\@glsxtr@do@style \endinput %% %% End of file `glossaries-extra.sty'. -- cgit v1.2.3