diff options
author | Karl Berry <karl@freefriends.org> | 2018-02-27 20:36:27 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2018-02-27 20:36:27 +0000 |
commit | f6f97a69d3847af9a8c49c35bd957fe0b35201e8 (patch) | |
tree | 0ea8f76ba68e2b47760e98f89bba6a9d587524c1 /Master/texmf-dist/doc/latex/glossaries-extra/glossaries-extra-manual.tex | |
parent | ec566b80f9bf87eb30846339dc51a66024bf5c18 (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.tex | 792 |
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 |