summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/glossaries-extra/glossaries-extra-manual.tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-02-27 20:36:27 +0000
committerKarl Berry <karl@freefriends.org>2018-02-27 20:36:27 +0000
commitf6f97a69d3847af9a8c49c35bd957fe0b35201e8 (patch)
tree0ea8f76ba68e2b47760e98f89bba6a9d587524c1 /Master/texmf-dist/doc/latex/glossaries-extra/glossaries-extra-manual.tex
parentec566b80f9bf87eb30846339dc51a66024bf5c18 (diff)
glossaries-extra (27feb18)
git-svn-id: svn://tug.org/texlive/trunk@46755 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/glossaries-extra/glossaries-extra-manual.tex')
-rw-r--r--Master/texmf-dist/doc/latex/glossaries-extra/glossaries-extra-manual.tex792
1 files changed, 764 insertions, 28 deletions
diff --git a/Master/texmf-dist/doc/latex/glossaries-extra/glossaries-extra-manual.tex b/Master/texmf-dist/doc/latex/glossaries-extra/glossaries-extra-manual.tex
index d4934849ac1..d78e8c13ec8 100644
--- a/Master/texmf-dist/doc/latex/glossaries-extra/glossaries-extra-manual.tex
+++ b/Master/texmf-dist/doc/latex/glossaries-extra/glossaries-extra-manual.tex
@@ -1,5 +1,21 @@
\documentclass[report,inlinetitle,widecs]{nlctdoc}
+\makeatletter
+\@ifpackageloaded{tex4ht}
+{
+ \DeclareUnicodeCharacter{00FE}{\HCode{&\#x00FE;}}
+ \DeclareUnicodeCharacter{00D0}{\HCode{&\#x00D0;}}
+ \DeclareUnicodeCharacter{01F7}{\HCode{&\#x01F7;}}
+ \DeclareUnicodeCharacter{A77D}{\HCode{&\#xA77D;}}
+ \DeclareUnicodeCharacter{017F}{\HCode{&\#x017F;}}
+ \DeclareUnicodeCharacter{018F}{\HCode{&\#x018F;}}
+}
+{
+ \usepackage{fontspec}
+ \setmainfont{FreeSerif}
+}
+\makeatother
+
\usepackage{alltt}
\usepackage{hologo}
\usepackage[colorlinks,
@@ -210,13 +226,13 @@ styles (glossaries):>#1={\protect\ttfamily#1}|main}}
\DeleteShortVerb{\|}
\MakeShortVerb{"}
- \title{glossaries-extra.sty v1.26:
+ \title{glossaries-extra.sty v1.27:
an extension to the glossaries package}
\author{Nicola L.C. Talbot\\[10pt]
Dickimaw Books\\
\url{http://www.dickimaw-books.com/}}
- \date{2018-01-05}
+ \date{2018-02-26}
\maketitle
\begin{abstract}
@@ -260,11 +276,13 @@ Additional resources:
\item The
\href{http://www.dickimaw-books.com/gallery/#glossaries-extra}{\styfmt{glossaries-extra} gallery}.
+\item \href{http://www.dickimaw-books.com/software/bib2gls}{\appfmt{bib2gls}}
+
\item
\href{http://www.latex-community.org/know-how/latex/55-latex-general/263-glossaries-nomenclature-lists-of-symbols-and-acronyms}{Glossaries,
Nomenclature, Lists of Symbols and Acronyms}.
-\item \href{http://www.dickimaw-books.com/software/bib2gls}{bib2gls}
+\item The base \href{https://ctan.org/pkg/glossaries}{\styfmt{glossaries}} package.
\end{itemize}
\tableofcontents
@@ -706,7 +724,9 @@ or \cs{makenoidxglossaries}. This setting implements \pkgopt[error]{undefaction}
\item[\pkgoptfmt{only}] The indexing is performed by
\gls{bib2gls} (see \sectionref{sec:bib2gls}). Neither
\cs{makeglossaries} nor \cs{makenoidxglossaries} is permitted.
-This setting implements \pkgopt[warn]{undefaction}.
+This setting implements \pkgopt[warn]{undefaction} and automatically
+loads the supplementary \sty{glossaries-extra-bib2gls} package.
+(There should be no need to explicitly load \sty{glossaries-extra-bib2gls}.)
The glossaries should be displayed using \cs{printunsrtglossary}
(or \cs{printunsrtglossaries}).
@@ -742,7 +762,9 @@ to avoid a clash with the transcript file used by
\gls{bib2gls}['s] \verb|--log-file| or \verb|-t| option.)
The glossaries should be displayed using \cs{printglossary}
-(or \cs{printglossaries}).
+(or \cs{printglossaries}). This option is expected to be used with
+\gls{bib2gls}'s \texttt{sort=none} setting and so
+\sty{glossaries-extra-bib2gls} is not automatically loaded.
The document build process is (assuming the file is called
\texttt{myDoc.tex}):
@@ -4054,8 +4076,8 @@ use \ics{glsabbrvscfont} (which defaults to \cs{textsc}).
\item[\abbrstyledef{nolong-short-sc}] Like \abbrstyle{short-sc-nolong}
but the inline full form displays
\meta{long} (\meta{short}). The name is still obtained from
-\cs{glsxtrshortnolongname} (similarly for the other
-\texttt{nolong}\meta{modifier}\texttt{-short}\meta{modifier} styles,
+\cs{glsxtrshortnolongname} (similarly for the other styles in the
+form \texttt{nolong}\meta{modifier}\texttt{-short}\meta{modifier}
unless indicated otherwise).
\item[\abbrstyledef{short-sm-nolong}]
@@ -7012,10 +7034,11 @@ collate the locations.
If you still want to use an indexing application (for example, you
need a custom \gls{xindy} rule), then just use
\pkgopt[alsoindex]{record} and continue to use \cs{makeglossaries}
-and \cs{printglossary} (or \cs{printglossaries}), but it's a good
-idea to also instruct \gls{bib2gls} to omit sorting to save time.
+and \cs{printglossary} (or \cs{printglossaries}), but you also need
+to instruct \gls{bib2gls} to omit sorting to save time and
+to prevent the \gloskey{sort} key from being set.
-The \texttt{.glstex} file created by \cs{bib2gls} is loaded using:
+The \texttt{.glstex} file created by \gls{bib2gls} is loaded using:
\begin{definition}[\DescribeMacro\glsxtrresourcefile]
\cs{glsxtrresourcefile}\oarg{options}\marg{filename}
\end{definition}
@@ -7051,15 +7074,15 @@ to the \texttt{.aux} file and will input
for example, \meta{filename} happens to be the same as \cs{jobname}.
The \texttt{.glstex} extension was enforced by version 1.11.}
-Since the \texttt{.glstex} won't exist on the first \LaTeX\ run, the
+Since the \texttt{.glstex} file won't exist on the first \LaTeX\ run, the
\pkgopt{record} package option additionally switches on
\pkgopt[warn]{undefaction}. Any use of commands like \cs{gls} or
-\cs{glstext} will produce ?? in the document, since they are
+\cs{glstext} will produce ?? in the document, since the entries are
undefined at this point. Once \gls{bib2gls} has created the
\texttt{.glstex} file the references should be resolved.
This may cause a shift in the locations if the actual text produced
-once the entry is defined is larger than the placeholder ?? (as can
-occur with long citations).
+once the entry is defined is significantly larger than the
+placeholder ?? (as this can alter the page breaking).
Note that as from v1.12, \cs{glsxtrresourcefile} temporarily
switches the category code of \texttt{@} to 11 (letter) while it
@@ -7076,7 +7099,8 @@ entries (including parent and cross-references). The
as a special ignored record. This means that it will match
the selection criteria but the record won't be added to
the location list. This means that you won't get spurious
-commas in the location list, so you can do, for example,
+commas in the location list (as can happen with the other indexing
+methods), so you can do, for example,
\begin{verbatim}
\GlsXtrSetDefaultNumberFormat{glsignore}
\end{verbatim}
@@ -7125,6 +7149,7 @@ The locale-sensitive sort methods usually ignore most
punctuation so for lists of symbols you may find it more
appropriate to use one of the letter-base sort methods
that sort according to the Unicode value of each character.
+Alternatively you can provide a custom rule.
See the \gls{bib2gls} manual for full details of all the available
sort methods.
@@ -7132,7 +7157,7 @@ Since the \texttt{.glstex} file only defines those references
required
within the document (selected according to the \texttt{selection}
option) and the definitions have been written in the
-order corresponding to \gls{bib2gls} sorted list, the glossaries can
+order corresponding to \gls{bib2gls}['s] sorted list, the glossaries can
simply be displayed using \cs{printunsrtglossary} (or
\cs{printunsrtglossaries}), described in \sectionref{sec:printunsrt}.
@@ -7251,6 +7276,10 @@ pdflatex myDoc
bib2gls -g myDoc
pdflatex myDoc
\end{verbatim}
+The value of the \gloskey{group} field must always be a label. You
+can set the corresponding title with \cs{glsxtrsetgrouptitle}
+(see \sectionref{sec:glosstylemods}). If no title is set then the
+label is used as the group title.
You can provide your own custom sort rule. For example,
if you are using \XeLaTeX\ or \LuaLaTeX:
@@ -7273,9 +7302,9 @@ characters, such as \'e or \o, are active and will expand when
written to the \texttt{.aux} file. So with PDF\LaTeX\ the
above would have to be changed to protect against expansion.
Some of the options, including \texttt{sort-rule},
-may have Unicode characters indicated in the format
+allow Unicode characters to be indicated in the format
\cs{u}\meta{hex} (or \cs{u}~\meta{hex}) \textbf{in the \texttt{.aux} file}. \gls{bib2gls}
-will recognise this format as indicating the character
+will recognise this as the character
given by the hexadecimal value \meta{hex}. The \cs{u} also needs
protection from expansion, so with a non-Unicode aware
engine, the character \ae\ needs to be written as
@@ -7300,10 +7329,25 @@ the above needs to be written as:
\}]
\end{alltt}
-\section{Supplementary Commands}
-
-These commands are provided by \styfmt{glossaries-extra}
-for use with \gls{bib2gls}.
+\section{The \styfmt{glossaries-extra-bib2gls} package}
+\label{sec:bib2glssty}
+
+The package option \pkgopt[only]{record} (or simply \pkgopt{record})
+automatically loads the supplementary package
+\sty{glossaries-extra-bib2gls}, which provides some commands
+that are specific to sorting with \gls{bib2gls}. The package isn't
+loaded by \pkgopt[alsoindex]{record} as that option is intended
+for sorting with \gls{makeindex} or \gls{xindy} and it is expected
+that the sorting will be switched off (with the resource option
+\texttt{sort=none}).
+
+If \sty{glossaries-extra-bib2gls} is loaded via the
+\pkgopt{record} package option then the check for associated
+language resource files (see \sectionref{sec:lang}) will also
+search for the existence of
+\texttt{glossariesxtr-}\meta{script}\texttt{.ldf} for each
+document dialect (where \meta{script} is the four letter
+script identifier, such as \texttt{Latn}).
\begin{definition}[\DescribeMacro\glshex]
\cs{glshex}
@@ -7313,6 +7357,686 @@ when you need to indicate a Unicode character in the form
\cs{u}\meta{hex} in some of
the resource options (as illustrated above).
+\begin{definition}[\DescribeMacro\glsxtrprovidecommand]
+\cs{glsxtrprovidecommand}
+\end{definition}
+This command is intended for use in \texttt{@preamble}.
+It's simply defined to \cs{providecommand} in
+\sty{glossaries-extra-bib2gls} but \gls{bib2gls}['s] interpreter
+treats it as \cs{renewcommand}. This means that you can
+override \gls{bib2gls}['s] internal definition of a command
+without overriding the command definition in the document
+(if it's already defined before the resource file is input).
+For example
+\begin{verbatim}
+@preamble{"\glsxtrprovidecommand{\int}{integral}"}
+\end{verbatim}
+This will force \gls{bib2gls} to treat \cs{int} as the word
+\qt{integral} to assist sorting but if this preamble code is written
+to the \texttt{.glstex} file (as it is by default) then it won't
+override the current definition (provided by the kernel or redefined
+by a package).
+
+The \sty{glossaries-extra-bib2gls} package also provides definitions
+of the missing mathematical Greek commands: \ics{Alpha},
+\ics{Beta}, \ics{Epsilon}, \ics{Zeta}, \ics{Eta}, \ics{Iota},
+\ics{Kappa}, \ics{Mu}, \ics{Nu}, \ics{Omicron}, \ics{Rho},
+\ics{Tau}, \ics{Chi}, \ics{Digamma}, \ics{omicron}.
+These are all defined with \cs{providecommand}, so they won't override
+any definitions provided by any package loaded before
+\sty{glossaries-extra}. Since \gls{bib2gls}['s] interpreter
+recognises these commands, using them instead of explicitly using
+the Latin characters with the same shape helps to keep the Greek
+symbols together when sorting.
+Similarly, if \sty{upgreek} has been loaded, the missing upright
+Greek commands are also provided.
+
+The remaining commands provide common rule blocks for use in
+the \texttt{sort-rule} resource option. If you want a rule for
+a specific locale, you can provide similar commands in a file called
+\texttt{glossariesxtr-}\meta{tag}\texttt{.ldf}, where \meta{tag}
+identifies the dialect, locale, region or root language. See the
+description of \cs{IfTrackedLanguageFileExists} in the
+\sty{tracklang} documentation for further details. If this file is
+on \TeX's path and the \sty{tracklang} package (automatically loaded
+by \styfmt{glossaries}) detects that the document has requested that
+language or locale, then the file will automatically be loaded.
+For example, if you want to provide a rule block for Welsh, then
+create a file called \texttt{glossariesxtr-welsh.ldf} that contains:
+\begin{verbatim}
+\ProvidesGlossariesExtraLang{welsh}[2018/02/23 v1.0]
+
+\@ifpackageloaded{glossaries-extra-bib2gls}
+{
+ \newcommand{\glsxtrWelshRules}{%
+ \glsxtrLatinA
+ \string<b,B
+ \string<c,C
+ \string<ch,CH
+ \string<d,D
+ \string<dd,DD
+ \string<\glsxtrLatinE
+ \string<f,F
+ \string<ff,FF
+ \string<g,G
+ \string<ng,NG
+ \string<\glsxtrLatinH
+ \string<\glsxtrLatinI
+ \string<j,J
+ \string<\glsxtrLatinL
+ \string<ll,LL
+ \string<\glsxtrLatinM
+ \string<\glsxtrLatinN
+ \string<\glsxtrLatinO
+ \string<\glsxtrLatinP
+ \string<ph,PH
+ \string<r,R
+ \string<rh,RH
+ \string<\glsxtrLatinS
+ \string<\glsxtrLatinT
+ \string<th,TH
+ \string<u,U
+ \string<w,W
+ \string<y,Y
+ }
+}
+{}% glossaries-extra-bib2gls.sty not loaded
+\end{verbatim}
+(The use of \cs{string} is in case the \texttt{<} character
+has been made active.) You can provide more than one rule-block
+per local, to allow for loanwords or foreign words. For example,
+you could provide \cs{glsxtrWelshIRules}, \cs{glsxtrWelshIIRules}
+etc.
+
+If the rules are for a particular script (independent of language
+or region) then they can be provided in a file given by
+\texttt{glossariesxtr-}\meta{script}\texttt{.ldf} instead. For
+example, the file \texttt{glossariesxtr-Cyrl.ldf} could contain:
+\begin{verbatim}
+\ProvidesGlossariesExtraLang{Cyrl}[2018/02/23 v1.0]
+\newcommand*{\glsxtrGeneralCyrillicIRules}{%
+ % Cyrillic rules
+}
+\newcommand*{\glsxtrGeneralCyrillicIIRules}{%
+ % an alternative set of Cyrillic rules
+}
+\end{verbatim}
+(Remember that the required document language scripts need to be tracked
+through the \sty{tracklang} package, in order for these files to be
+automatically loaded. This essentially means ensuring you load the
+appropriate language package before \sty{tracklang} is loaded by
+the base \sty{glossaries} package or any other package that uses it.
+See the \sty{tracklang} documentation for further details.)
+
+Alternatively, if the rules are specific to a subject rather than
+a region or language, then you can provide a supplementary
+package. For example, if you have a package called, say,
+\styfmt{mapsymbols} that provides map symbols, then the file
+\texttt{mapsymbols.sty} might contain:
+\begin{verbatim}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{mapsymbols}
+% some package or font loading stuff here to provide
+% the appropriate symbols
+\newcommand{\Stadium}{...}
+\newcommand{\Battlefield}{...}
+\newcommand{\Harbour}{...}
+% etc
+
+% Provide a rule block:
+\newcommand{\MapSymbolOrder}{%
+ \glshex 2694 % crossed-swords 0x2694
+ \string< \glshex 2693 % anchor 0x2693
+ \string< \glshex 26BD % football 0x26BD
+}
+\end{verbatim}
+and the supplementary file \texttt{mapsymbols.bib} can provide
+the appropriate definitions for \gls{bib2gls}:
+\begin{verbatim}
+@preamble{"\glsxtrprovidecommand{\Harbour}{\char"2693}
+\glsxtrprovidecommand{\Battlefield}{\char"2694}
+\glsxtrprovidecommand{\Stadium}{\char"26BD}"}
+\end{verbatim}
+Now both the preamble and rule block can be used in the resource
+set:
+\begin{verbatim}
+\usepackage{mapsymbols}% my custom package
+\usepackage[record]{glossaries-extra}
+
+\GlsXtrLoadResources[
+ src={mapsymbols,% <--- my custom mapsymbols.bib
+ entries% data in entries.bib
+ },
+ sort={custom},
+ sort-rule={\glsxtrcontrolrules % control codes
+ ;\glsxtrspacerules % space characters
+ ;\glsxtrnonprintablerules % non-printable characters
+ ;\glsxtrcombiningdiacriticrules % combining diacritics
+ ,\glsxtrhyphenrules % hyphens
+ <\glsxtrgeneralpuncrules % general punctuation
+ <\glsxtrdigitrules % 0, ..., 9
+ <\glsxtrfractionrules % fraction symbols
+ <\MapSymbolOrder % <--- custom map symbols
+ <\glsxtrMathItalicGreekIrules % math-greek symbols
+ <\glsxtrGeneralLatinIrules % Latin letters
+ }
+]
+\end{verbatim}
+
+The following commands are provided by
+\sty{glossaries-extra-bib2gls}. They should be separated by
+the rule separator characters \texttt{;}~(semi-colon) or \texttt{,}~(comma)
+or \verb|&|~(ampersand) or \texttt{<}~(less than). See Java's
+\href{http://docs.oracle.com/javase/8/docs/api/java/text/RuleBasedCollator.html}{Rule\-Based\-Collator}
+documentation for details of the rule syntax.
+
+For example, the following will place the mathematical Greek
+symbols (\ics{alpha}, \ics{Alpha}, \ics{beta}, \ics{Beta} etc)
+in a block before Latin characters:
+\begin{verbatim}
+sort-rule={\glsxtrcontrolrules
+ ;\glsxtrspacerules
+ ;\glsxtrnonprintablerules
+ ;\glsxtrcombiningdiacriticrules
+ ,\glsxtrhyphenrules
+ <\glsxtrgeneralpuncrules
+ <\glsxtrdigitrules
+ <\glsxtrfractionrules
+ <\glsxtrMathItalicGreekIrules
+ <\glsxtrGeneralLatinIVrules
+ <\glsxtrLatinAA
+ <\glsxtrLatinOslash
+}
+\end{verbatim}
+
+\begin{definition}[\DescribeMacro\glsxtrcontrolrules]
+\cs{glsxtrcontrolrules}
+\end{definition}
+These are control characters that are usually placed at the start of
+a rule in the ignored section. They typically won't occur in
+any sort values, but if they do they should normally be ignored.
+
+\begin{definition}[\DescribeMacro\glsxtrspacerules]
+\cs{glsxtrspacerules}
+\end{definition}
+These are space characters. They typically come after the control
+characters with the two blocks separated by a \texttt{;}~(semi-colon).
+
+\begin{definition}[\DescribeMacro\glsxtrnonprintablerules]
+\cs{glsxtrnonprintablerules}
+\end{definition}
+These are non-printable characters (BOM, tabs, line feed and
+carriage return). They typically come after the spaces separated by
+a \texttt{;}~(semi-colon). These characters aren't checked for by
+\gls{bib2gls} when it determines whether or not to use the
+interpreter, so a~TAB or newline character may end up in the sort
+value if it wasn't interpreted.
+
+\begin{definition}[\DescribeMacro\glsxtrcombiningdiacriticrules]
+\cs{glsxtrcombiningdiacriticrules}
+\end{definition}
+These are combining diacritic marks which typically follow
+the space and non-printable blocks (separated by a semi-colon). This command is
+defined in terms of sub-block commands:
+\begin{verbatim}
+\newcommand*{\glsxtrcombiningdiacriticrules}{%
+ \glsxtrcombiningdiacriticIrules\string;
+ \glsxtrcombiningdiacriticIIrules\string;
+ \glsxtrcombiningdiacriticIIIrules\string;
+ \glsxtrcombiningdiacriticIVrules
+}
+\end{verbatim}
+If you prefer, you can use the sub-blocks directly in your
+required ordered.
+
+\begin{definition}[\DescribeMacro\glsxtrcombiningdiacriticIrules]
+\cs{glsxtrcombiningdiacriticIrules}
+\end{definition}
+This contains the combining diacritics: acute, grave, breve,
+circumflex, caron, ring, vertical line above, diaeresis (umlaut),
+double acute, tilde, dot above, combining macron.
+
+\begin{definition}[\DescribeMacro\glsxtrcombiningdiacriticIIrules]
+\cs{glsxtrcombiningdiacriticIIrules}
+\end{definition}
+This contains the combining diacritics: short solidus overlay,
+cedilla, ogonek, dot below, low line, overline, hook above,
+double vertical line above, double grave accent, candrabindu,
+inverted breve, turned comma above, comma above, reversed comma
+above, comma above right, grave accent below, acute accent below.
+
+\begin{definition}[\DescribeMacro\glsxtrcombiningdiacriticIIIrules]
+\cs{glsxtrcombiningdiacriticIIIrules}
+\end{definition}
+This contains the combining diacritics: left tack below, right tack
+below, left angle above, horn, left half ring below, up tack below,
+down tack below, plus sign below, minus sign below, palatalized hook
+below, retroflex hook below, diaresis below, ring below, comma
+below, vertical line below, bridge below, inverted double arch
+below, caron below, circumflex accent below, breve below, inverted
+breve below, tilde below, macron below, double low line, tilde
+overlay, short stroke overlay, long stroke overlay, long solidus
+overlay, right half ring below, inverted bridge below, square below,
+seagull below, x above, vertical tilde, double overline, Greek
+perispomeni, Greek dialytika tonos, Greek ypogegrammeni, double
+tilde, double inverted breve, Cyrillic titlo, Cyrillic
+palatalization, Cyrillic dasia pneumata, Cyrillic psili pneumata.
+
+\begin{definition}[\DescribeMacro\glsxtrcombiningdiacriticIVrules]
+\cs{glsxtrcombiningdiacriticIVrules}
+\end{definition}
+This contains the combining diacritics:
+left harpoon above, right harpoon above, long vertical line overlay,
+short vertical line overlay, anticlockwise arrow above, clockwise
+arrow above, left arrow above, right arrow above, ring overlay,
+clockwise ring overlay, anticlockwise ring overlay, three dots
+above, four dots above, enclosing circle, enclosing square,
+enclosing diamond, enclosing circle backslash, left right arrow
+above.
+
+\begin{definition}[\DescribeMacro\glsxtrhyphenrules]
+\cs{glsxtrhyphenrules}
+\end{definition}
+This contains hyphens (including the minus sign 0x2212). This rule
+block typically comes after the diacritic rules separated by a
+comma.
+
+\begin{definition}[\DescribeMacro\glsxtrgeneralpuncrules]
+\cs{glsxtrgeneralpuncrules}
+\end{definition}
+This contains punctuation characters. This rule
+block typically comes after the hyphen rules separated by a
+less than (\texttt{<}). As with the combining diacritics, this
+command is defined in terms of sub-blocks which may be used directly
+instead if a different order is required:
+\begin{verbatim}
+\newcommand*{\glsxtrgeneralpuncrules}{%
+ \glsxtrgeneralpuncIrules
+ \string<\glsxtrcurrencyrules
+ \string<\glsxtrgeneralpuncIIrules
+}
+\end{verbatim}
+
+\begin{definition}[\DescribeMacro\glsxtrgeneralpuncIrules]
+\cs{glsxtrgeneralpuncIrules}
+\end{definition}
+This is the first punctuation sub-block containing:
+underscore, macron, comma, semi-colon, colon, exclamation mark,
+inverted exclamation mark, question mark, inverted question mark,
+solidus, full stop, acute accent, grave accent, circumflex accent,
+diaersis, tilde, middle dot, cedilla, straight apostrophe, straight
+double quote, left guillemet, right guillemet, left parenthesis,
+right parenthesis, left square bracket, right square bracket, left
+curly bracket, right curly bracket, section sign, pilcrow sign,
+copyright sign, registered sign, at sign.
+
+\begin{definition}[\DescribeMacro\glsxtrcurrencyrules]
+\cs{glsxtrcurrencyrules}
+\end{definition}
+This sub-block contains some currency symbols:
+currency sign, Thai currency symbol baht, cent sign, colon sign,
+cruzeiro sign, dollar sign, dong sign, euro sign, French franc sign,
+lira sign, mill sign, naira sign, peseta sign, pound sign, rupee
+sign, new sheqel sign, won sign, yen sign.
+
+\begin{definition}[\DescribeMacro\glsxtrgeneralpuncIIrules]
+\cs{glsxtrgeneralpuncIIrules}
+\end{definition}
+This sub-block contains some other punctuation symbols:
+asterisk, backslash, ampersand, hash sign, percent sign, plus sign,
+plus-minus sign, division sign, multiplication sign, less-than sign,
+equals sign, greater-than sign, not sign, vertical bar (pipe),
+broken bar, degree sign, micron sign.
+
+\begin{definition}[\DescribeMacro\glsxtrdigitrules]
+\cs{glsxtrdigitrules}
+\end{definition}
+This rule block contains the Basic Latin digits (0, \ldots, 9)
+and the subscript and superscript digits (\textsubscript{0}
+\textsuperscript{0} etc) made equivalent to the
+corresponding Basic Latin digit. The digit block typically
+comes after the punctuation rules separated by a less than
+(\texttt{<}).
+
+\begin{definition}[\DescribeMacro\glsxtrBasicDigitrules]
+\cs{glsxtrBasicDigitrules}
+\end{definition}
+This rule block contains just the Basic Latin digits (0, \ldots, 9).
+
+\begin{definition}[\DescribeMacro\glsxtrSubScriptDigitrules]
+\cs{glsxtrSubScriptDigitrules}
+\end{definition}
+This rule block contains just the subscript digits
+(\textsubscript{0} \ldots\ \textsubscript{9}).
+
+\begin{definition}[\DescribeMacro\glsxtrSuperScriptDigitrules]
+\cs{glsxtrSuperScriptDigitrules}
+\end{definition}
+This rule block contains just the superscript digits
+(\textsuperscript{0} \ldots\ \textsuperscript{9}).
+
+\begin{definition}[\DescribeMacro\glsxtrfractionrules]
+\cs{glsxtrfractionrules}
+\end{definition}
+This rule block contains vulgar fraction characters. The digit block
+typically comes after the digit rules separated by a less than
+(\texttt{<}).
+
+There are a number of Latin rule blocks. Some of these included
+extended characters or ligatures (such as \ss\ or \oe) but they don't
+include accented characters. If you require a Latin rule block
+that includes accented characters, digraphs, trigraphs or
+other extended characters, then it's best to provide
+similar commands in a \texttt{glossariesxtr-}\meta{tag}\texttt{.ldf}
+file for the particular language or region.
+
+\begin{definition}[\DescribeMacro\glsxtrGeneralLatinIrules]
+\cs{glsxtrGeneralLatinIrules}
+\end{definition}
+This is just the basic (non-extended) Latin alphabet with the superscript
+and subscript Latin letters (\textsuperscript{a} \textsubscript{a}
+etc) treated as the equivalent basic Latin letter. (If you don't
+want the subscripts and superscripts included you can redefine
+\cs{glsxtrLatinA} etc to omit them.)
+
+\begin{definition}[\DescribeMacro\glsxtrGeneralLatinIIrules]
+\cs{glsxtrGeneralLatinIIrules}
+\end{definition}
+This is like \cs{glsxtrGeneralLatinIrules} but it includes eth
+(Ð) between `D' and `E' and eszett (\ss) treated as `ss'.
+
+\begin{definition}[\DescribeMacro\glsxtrGeneralLatinIIIrules]
+\cs{glsxtrGeneralLatinIIIrules}
+\end{definition}
+This is like \cs{glsxtrGeneralLatinIrules} but it includes eth
+(Ð) between `D' and `E' and eszett (\ss) treated as `sz'.
+
+\begin{definition}[\DescribeMacro\glsxtrGeneralLatinIVrules]
+\cs{glsxtrGeneralLatinIVrules}
+\end{definition}
+This is like \cs{glsxtrGeneralLatinIrules} but it includes eth
+(Ð) between `D' and `E', ae-ligature (\ae) is treated as `ae',
+oe-ligature (\oe) is treated as `oe', eszett (\ss) treated as `ss'
+and thorn (þ) is treated as `th'.
+
+\begin{definition}[\DescribeMacro\glsxtrGeneralLatinVrules]
+\cs{glsxtrGeneralLatinVrules}
+\end{definition}
+This is like \cs{glsxtrGeneralLatinIrules} but it includes eth
+(Ð) between `D' and `E', eszett (\ss) treated as `ss'
+and thorn (þ) treated as `th'.
+
+\begin{definition}[\DescribeMacro\glsxtrGeneralLatinVIrules]
+\cs{glsxtrGeneralLatinVIrules}
+\end{definition}
+This is like \cs{glsxtrGeneralLatinIrules} but it includes eth
+(Ð) between `D' and `E', eszett (\ss) treated as `sz'
+and thorn (þ) treated as `th'.
+
+\begin{definition}[\DescribeMacro\glsxtrGeneralLatinVIIrules]
+\cs{glsxtrGeneralLatinVIIrules}
+\end{definition}
+This is like \cs{glsxtrGeneralLatinIrules} but it includes
+ae-ligature (\ae) between `A' and `B', eth (Ð) between `D' and
+`E', insular G (Ᵹ) instead of `G', oe-ligature between `O' and `P',
+long~s (ſ) equivalent to `s', thorn (þ) between `T' and `U' and wynn (Ƿ)
+instead of W.
+
+\begin{definition}[\DescribeMacro\glsxtrGeneralLatinVIIIrules]
+\cs{glsxtrGeneralLatinVIIIrules}
+\end{definition}
+This is like \cs{glsxtrGeneralLatinIrules} but ae-ligature (\ae) is treated as `ae',
+oe-ligature (\oe) is treated as `oe', eszett (\ss) treated as `ss',
+thorn (þ) is treated as `th', \O\ is treated as `O' and
+`\L' is treated as `L'.
+
+\begin{definition}[\DescribeMacro\glsxtrLatinA]
+\cs{glsxtrLatinA}
+\end{definition}
+A mini-rule that just covers `A' but includes the sub- and
+superscript A.
+
+\begin{definition}[\DescribeMacro\glsxtrLatinE]
+\cs{glsxtrLatinE}
+\end{definition}
+A mini-rule that just covers `E' but includes the
+subscript E.
+
+\begin{definition}[\DescribeMacro\glsxtrLatinH]
+\cs{glsxtrLatinH}
+\end{definition}
+A mini-rule that just covers `H' but includes the
+subscript H.
+
+\begin{definition}[\DescribeMacro\glsxtrLatinK]
+\cs{glsxtrLatinK}
+\end{definition}
+A mini-rule that just covers `K' but includes the
+subscript K.
+
+\begin{definition}[\DescribeMacro\glsxtrLatinI]
+\cs{glsxtrLatinI}
+\end{definition}
+A mini-rule that just covers `I' but includes the
+superscript I.
+
+\begin{definition}[\DescribeMacro\glsxtrLatinL]
+\cs{glsxtrLatinL}
+\end{definition}
+A mini-rule that just covers `L' but includes the
+subscript L.
+
+\begin{definition}[\DescribeMacro\glsxtrLatinM]
+\cs{glsxtrLatinM}
+\end{definition}
+A mini-rule that just covers `M' but includes the
+subscript M.
+
+\begin{definition}[\DescribeMacro\glsxtrLatinN]
+\cs{glsxtrLatinN}
+\end{definition}
+A mini-rule that just covers `N' but includes the
+sub- and superscript N.
+
+\begin{definition}[\DescribeMacro\glsxtrLatinO]
+\cs{glsxtrLatinO}
+\end{definition}
+A mini-rule that just covers `O' but includes the
+sub- and superscript O.
+
+\begin{definition}[\DescribeMacro\glsxtrLatinP]
+\cs{glsxtrLatinP}
+\end{definition}
+A mini-rule that just covers `P' but includes the
+subscript P.
+
+\begin{definition}[\DescribeMacro\glsxtrLatinS]
+\cs{glsxtrLatinS}
+\end{definition}
+A mini-rule that just covers `S' but includes the
+subscript S.
+
+\begin{definition}[\DescribeMacro\glsxtrLatinT]
+\cs{glsxtrLatinT}
+\end{definition}
+A mini-rule that just covers `T' but includes the
+subscript T.
+
+\begin{definition}[\DescribeMacro\glsxtrLatinX]
+\cs{glsxtrLatinX}
+\end{definition}
+A mini-rule that just covers `X' but includes the
+subscript X.
+
+\begin{definition}[\DescribeMacro\glsxtrLatinEszettSs]
+\cs{glsxtrLatinEszettSs}
+\end{definition}
+A mini-rule that just covers eszett (\ss) and makes long~s (ſ) followed
+by short `s' equivalent to `\ss'. (This is used in the above blocks
+that treat `\ss' as `ss'.)
+
+\begin{definition}[\DescribeMacro\glsxtrLatinEszettSz]
+\cs{glsxtrLatinEszettSz}
+\end{definition}
+A mini-rule that just covers eszett (\ss) and makes long~s (ſ) followed
+by `z' equivalent to `\ss'. (This is used in the above blocks
+that treat `\ss' as `sz'.)
+
+\begin{definition}[\DescribeMacro\glsxtrLatinEth]
+\cs{glsxtrLatinEth}
+\end{definition}
+A mini-rule for eth (Ð) so you don't need to remember the
+Unicode values.
+
+\begin{definition}[\DescribeMacro\glsxtrLatinThorn]
+\cs{glsxtrLatinThorn}
+\end{definition}
+A mini-rule for thorn (þ) so you don't need to remember the
+Unicode values.
+
+\begin{definition}[\DescribeMacro\glsxtrLatinAELigature]
+\cs{glsxtrLatinAELigature}
+\end{definition}
+A mini-rule for ae-ligature (\ae) so you don't need to remember the
+Unicode values.
+
+\begin{definition}[\DescribeMacro\glsxtrLatinOELigature]
+\cs{glsxtrLatinOELigature}
+\end{definition}
+A mini-rule for oe-ligature (\oe) so you don't need to remember the
+Unicode values.
+
+\begin{definition}[\DescribeMacro\glsxtrLatinOslash]
+\cs{glsxtrLatinOslash}
+\end{definition}
+A mini-rule for `\O' so you don't need to remember the
+Unicode values.
+
+\begin{definition}[\DescribeMacro\glsxtrLatinLslash]
+\cs{glsxtrLatinLslash}
+\end{definition}
+A mini-rule for `\L' so you don't need to remember the
+Unicode values.
+
+\begin{definition}[\DescribeMacro\glsxtrLatinWynn]
+\cs{glsxtrLatinWynn}
+\end{definition}
+A mini-rule for wynn (Ƿ) so you don't need to remember the
+Unicode values.
+
+\begin{definition}[\DescribeMacro\glsxtrLatinInsularG]
+\cs{glsxtrLatinInsularG}
+\end{definition}
+A mini-rule for insular G (Ᵹ) so you don't need to remember the
+Unicode values.
+
+\begin{definition}[\DescribeMacro\glsxtrLatinSchwa]
+\cs{glsxtrLatinSchwa}
+\end{definition}
+A mini-rule that just covers schwa (Ə) but includes the
+subscript schwa. (Not used in any of the provided Latin rule blocks
+described above.)
+
+\begin{definition}[\DescribeMacro\glsxtrLatinAA]
+\cs{glsxtrLatinAA}
+\end{definition}
+A mini-rule for `\AA' so you don't need to remember the
+Unicode values. (Not used in any of the provided Latin rule blocks
+described above.)
+
+\begin{definition}[\DescribeMacro\glsxtrMathGreekIrules]
+\cs{glsxtrMathGreekIrules}
+\end{definition}
+A rule block for mathematical Greek (\ics{alpha}, \ics{beta} etc)
+and upright Greek (\ics{upalpha}, etc, from the \sty{upgreek}
+package) characters that includes digamma (\ics{digamma} and
+\ics{Digamma}) between epsilon and zeta. The upright and italic
+versions are gathered together into the same letter group.
+
+\begin{definition}[\DescribeMacro\glsxtrMathGreekIIrules]
+\cs{glsxtrMathGreekIIrules}
+\end{definition}
+As \cs{glsxtrMathGreekIrules} but doesn't include digamma.
+
+\begin{definition}[\DescribeMacro\glsxtrMathUpGreekIrules]
+\cs{glsxtrMathUpGreekIrules}
+\end{definition}
+A rule block for upright Greek (\ics{upalpha}, etc, from
+the \sty{upgreek} package)
+characters that includes digamma (\ics{digamma} and \ics{Digamma})
+between epsilon and zeta.
+
+\begin{definition}[\DescribeMacro\glsxtrMathUpGreekIIrules]
+\cs{glsxtrMathUpGreekIIrules}
+\end{definition}
+A rule block for upright Greek (\ics{upalpha}, etc, from
+the \sty{upgreek} package) that doesn't include digamma.
+
+\begin{definition}[\DescribeMacro\glsxtrMathItalicGreekIrules]
+\cs{glsxtrMathItalicGreekIrules}
+\end{definition}
+A rule block for mathematical Greek (\ics{alpha}, \ics{Alpha}, etc)
+characters that includes digamma (\ics{diagamma} and \ics{Digamma})
+between epsilon and zeta. Note that even though the upper case
+\cs{Delta} etc are actually rendered upright by \LaTeX,
+\gls{bib2gls}['s] interpreter treats them as italic to help keep
+them close to the lower case versions.
+
+\begin{definition}[\DescribeMacro\glsxtrMathItalicGreekIIrules]
+\cs{glsxtrMathItalicGreekIIrules}
+\end{definition}
+A rule block for mathematical Greek (\ics{alpha}, \ics{Alpha}, etc)
+characters that doesn't include digamma.
+
+\begin{definition}[\DescribeMacro\glsxtrMathItalicUpperGreekIrules]
+\cs{glsxtrMathItalicUpperGreekIrules}
+\end{definition}
+A rule block for upper case mathematical Greek (\ics{Alpha},
+\ics{Beta}, etc) characters that includes digamma (\ics{Digamma})
+between epsilon and zeta.
+
+\begin{definition}[\DescribeMacro\glsxtrMathItalicUpperGreekIIrules]
+\cs{glsxtrMathItalicUpperGreekIIrules}
+\end{definition}
+A rule block for upper case mathematical Greek (\ics{Alpha},
+\ics{Beta}, etc) characters that doesn't include digamma.
+
+\begin{definition}[\DescribeMacro\glsxtrMathItalicLowerGreekIrules]
+\cs{glsxtrMathItalicLowerGreekIrules}
+\end{definition}
+A rule block for lower case mathematical Greek (\ics{alpha},
+\ics{beta}, etc) characters that includes digamma (\ics{digamma})
+between epsilon and zeta.
+
+\begin{definition}[\DescribeMacro\glsxtrMathItalicLowerGreekIIrules]
+\cs{glsxtrMathItalicLowerGreekIIrules}
+\end{definition}
+A rule block for lower case mathematical Greek (\ics{alpha},
+\ics{beta}, etc) characters that doesn't include digamma.
+
+Additionally, there are commands in the form \cs{glsxtrUpAlpha},
+\cs{glsxtrUpBeta} etc and \cs{glsxtrMathItalicAlpha},
+\cs{glsxtrMathItalicBeta} etc
+that just cover the upper and lower case forms of a special
+Greek character (\cs{Upalpha}, \cs{upalpha} etc and \cs{Alpha},
+\cs{alpha} etc) as well as the following:
+
+\begin{definition}[\DescribeMacro\glsxtrMathItalicPartial]
+\cs{glsxtrMathItalicPartial}
+\end{definition}
+The partial derivative symbol ($\partial$).
+
+\begin{definition}[\DescribeMacro\glsxtrMathItalicNabla]
+\cs{glsxtrMathItalicNabla}
+\end{definition}
+The nabla symbol ($\nabla$).
+
+
+\section{Supplementary Commands}
+
+These commands are provided by \styfmt{glossaries-extra}
+for use with \gls{bib2gls}.
+
The information provided with \cs{GlsXtrLoadResources}
is written to the \texttt{.aux} file using
\begin{alltt}
@@ -9002,13 +9726,23 @@ The other fixed text commands are the diagnostic messages, which
shouldn't appear in the final draft of your document.
The \styfmt{glossaries-extra} package has the facility to load
-language modules if they exist, but won't warn if they don't.
+language modules (whose filename is in the form
+\texttt{glossariesxtr-}\meta{language}\texttt{.ldf}) if they exist,
+but won't warn if they don't. If \sty{glossaries-extra-bib2gls} is
+loaded via the \pkgopt{record} package option then the check for
+language resource files will additionally search for an associated
+language script file given by
+\texttt{glossariesxtr-}\meta{script}\texttt{.ldf} where
+\meta{script} is the four letter script identifier, such as
+\texttt{Latn}, associated with the given dialect. There's no warning if the
+associated file isn't found. The script file is loaded after the
+dialect file.
If you want to write your own language module, you just need to
create a file called
\texttt{glossariesxtr-}\meta{lang}\texttt{.ldf}, where \meta{lang}
-is the language name (see the \sty{tracklang} package). For example,
-\texttt{glossariesxtr-french.ldf}.
+identifies the language or dialect (see the \sty{tracklang}
+package). For example, \texttt{glossariesxtr-french.ldf}.
The simplest code for this file is:
\begin{verbatim}
@@ -9034,15 +9768,17 @@ The simplest code for this file is:
\glossariesxtrcaptionsfrench
}%
}%
- {%
- }%
- \glossariesxtrcaptionsfrench
+ {}%
}
\end{verbatim}
You can adapt this for other languages by replacing
all instances of the language identifier \texttt{french} and
the translated text \verb|Abr\'eviations| as appropriate.
+You can also use the \texttt{.ldf} file to provide rule
+blocks for a particular language for use with \gls{bib2gls}['s] custom
+sort rule. See \sectionref{sec:bib2glssty} for further details.
+
This \texttt{.ldf} file then needs to be put somewhere on \TeX's
path so that it can be found by \styfmt{glossaries-extra}.
You might also want to consider uploading it to CTAN so that