summaryrefslogtreecommitdiff
path: root/support
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-08-26 03:00:52 +0000
committerNorbert Preining <norbert@preining.info>2023-08-26 03:00:52 +0000
commit2c6f7db39402a9980f7423ed3266ad1d18936bcc (patch)
treeb998126ee1c53cfee553777049066ea4b50244f4 /support
parentba73c7edc85ac1310d82920c5f432993f8a9af23 (diff)
CTAN sync 202308260300
Diffstat (limited to 'support')
-rw-r--r--support/bib2gls/CHANGES15
-rw-r--r--support/bib2gls/bib2gls-begin.pdfbin719965 -> 720293 bytes
-rw-r--r--support/bib2gls/bib2gls-en.xml12
-rw-r--r--support/bib2gls/bib2gls.1593
-rw-r--r--support/bib2gls/bib2gls.pdfbin5327997 -> 5352192 bytes
-rw-r--r--support/bib2gls/convertgls2bib.1138
-rw-r--r--support/bib2gls/examples/sample-authors.pdfbin51563 -> 51564 bytes
-rw-r--r--support/bib2gls/examples/sample-bacteria.pdfbin54232 -> 54287 bytes
-rw-r--r--support/bib2gls/examples/sample-chemical.pdfbin54013 -> 54079 bytes
-rw-r--r--support/bib2gls/examples/sample-citations.pdfbin49752 -> 49756 bytes
-rw-r--r--support/bib2gls/examples/sample-constants.pdfbin97799 -> 97833 bytes
-rw-r--r--support/bib2gls/examples/sample-hierarchical.pdfbin52515 -> 52565 bytes
-rw-r--r--support/bib2gls/examples/sample-markuplanguages.pdfbin61083 -> 61161 bytes
-rw-r--r--support/bib2gls/examples/sample-maths.pdfbin121233 -> 121264 bytes
-rw-r--r--support/bib2gls/examples/sample-media.pdfbin166516 -> 166598 bytes
-rw-r--r--support/bib2gls/examples/sample-msymbols.pdfbin109228 -> 109259 bytes
-rw-r--r--support/bib2gls/examples/sample-multi1.pdfbin255325 -> 255485 bytes
-rw-r--r--support/bib2gls/examples/sample-multi2.pdfbin330719 -> 330891 bytes
-rw-r--r--support/bib2gls/examples/sample-nested.pdfbin52527 -> 52578 bytes
-rw-r--r--support/bib2gls/examples/sample-people.pdfbin50328 -> 50331 bytes
-rw-r--r--support/bib2gls/examples/sample-textsymbols.pdfbin73056 -> 73107 bytes
-rw-r--r--support/bib2gls/examples/sample-textsymbols2.pdfbin70270 -> 70316 bytes
-rw-r--r--support/bib2gls/examples/sample-units1.pdfbin57354 -> 57356 bytes
-rw-r--r--support/bib2gls/examples/sample-units2.pdfbin59088 -> 59092 bytes
-rw-r--r--support/bib2gls/examples/sample-units3.pdfbin44655 -> 44654 bytes
-rw-r--r--support/bib2gls/examples/sample-usergroups.pdfbin23828 -> 24425 bytes
-rw-r--r--support/bib2gls/src/bib2gls-cite.bib9
-rw-r--r--support/bib2gls/src/bib2gls-terms.bib9
-rw-r--r--support/bib2gls/src/bib2gls.bib71
-rw-r--r--support/bib2gls/src/bib2gls.pod459
-rw-r--r--support/bib2gls/src/bib2gls.tex416
31 files changed, 1027 insertions, 695 deletions
diff --git a/support/bib2gls/CHANGES b/support/bib2gls/CHANGES
index 8b9bef1a0f..14997dee5f 100644
--- a/support/bib2gls/CHANGES
+++ b/support/bib2gls/CHANGES
@@ -1,3 +1,18 @@
+v3.5 (2023-08-24)
+
+ * bib2gls
+
+ - new command line switches:
+
+ --default-encoding
+ --log-encoding
+ --debug-mode
+
+ - extra command supported by the interpreter (but not in the
+ document):
+
+ \bibglspaddigits
+
v3.4 (2023-06-29)
* bib2gls
diff --git a/support/bib2gls/bib2gls-begin.pdf b/support/bib2gls/bib2gls-begin.pdf
index c94eac1a77..6af4ccbb2e 100644
--- a/support/bib2gls/bib2gls-begin.pdf
+++ b/support/bib2gls/bib2gls-begin.pdf
Binary files differ
diff --git a/support/bib2gls/bib2gls-en.xml b/support/bib2gls/bib2gls-en.xml
index 232ecca226..7a9aea98ec 100644
--- a/support/bib2gls/bib2gls-en.xml
+++ b/support/bib2gls/bib2gls-en.xml
@@ -34,13 +34,16 @@ file is in or in a location that can be found by kpsewhich.</entry>
<entry key="syntax.version">{1}, {0} Display version and exit.</entry>
<entry key="syntax.help">{1}, {0} Display this help message and exit.</entry>
<entry key="syntax.debug">{0} [&lt;n&gt;] Debug mode.</entry>
+<entry key="syntax.debug-mode">{0} &lt;setting&gt; TeX Parser debug mode.</entry>
<entry key="syntax.verbose">{0} Verbose mode.</entry>
<entry key="syntax.silent">{1}, {2}, {0} Only display error messages.</entry>
<entry key="syntax.group">{1}, {0} Add ''group'' field to entries.</entry>
<entry key="syntax.locale">{1}, {0} &lt;lang&gt; Use language resource file for &lt;lang&gt; and identify this as the default document language.</entry>
<entry key="syntax.log">{1}, {0} &lt;file&gt; Set transcript file name.</entry>
<entry key="syntax.dir">{1}, {0} &lt;directory&gt; Files relative to &lt;directory&gt;.</entry>
-<entry key="syntax.tex.encoding">{0} &lt;name&gt; Set the character encoding for the output files.</entry>
+<entry key="syntax.tex.encoding">{0} &lt;name&gt; Set the character encoding for the glg and glstex output files and the aux and log input files.</entry>
+<entry key="syntax.log.encoding">{0} &lt;name&gt; Set the character encoding for the log input file.</entry>
+<entry key="syntax.default.encoding">{0} &lt;name&gt; Set the default character encoding for all input and output files.</entry>
<entry key="syntax.interpret">{0} Enable interpreter.</entry>
<entry key="syntax.break.space">{0} Interpret tilde character as normal space.</entry>
<entry key="syntax.obey.aux.catcode">{0} Obey known category code changing commands encountered in the aux file.</entry>
@@ -216,6 +219,7 @@ Defaulting to: {0}.
<entry key="message.tex.charset">TeX character encoding: {0}</entry>
<entry key="message.detected.charset">Detected encoding: {0}</entry>
<entry key="message.default.charset">Default encoding: {0}</entry>
+<entry key="message.assuming.charset">Assuming encoding: {0}</entry>
<entry key="message.null">not set</entry>
<entry key="message.detected.fontenc">Detected font encoding: {0}</entry>
<entry key="message.missing.id">id missing</entry>
@@ -295,8 +299,7 @@ Defaulting to: {0}.
<entry key="warning.unsupported.generic">Not supported: {0}</entry>
<!-- bib2gls warnings -->
-<entry key="warning.cant.parse.file">Can''t parse {0}
-{1}</entry>
+<entry key="warning.cant.parse.file">Can''t parse {0} ({1})</entry>
<entry key="warning.ignoring.unknown.entry.type">Ignoring unknown entry type: {0}</entry>
<entry key="warning.private.entry.type">Private entry type ''{0}'' found. Did you mean ''{1}''?</entry>
<entry key="warning.ignoring.unknown.encoding">Ignoring unknown encoding: {0}</entry>
@@ -399,6 +402,8 @@ Have you indexed your entries using commands like \gls?</entry>
<entry key="error.only.one.aux">Only one aux file permitted.</entry>
<entry key="error.no.aux">Aux file not supplied. {0}</entry>
<entry key="error.file.not.found">File not found: {0}</entry>
+<entry key="error.cant.parse.file.malformed.input">Can''t parse {0}: may not be {1} encoded.
+(Try a different encoding with {2} or {3}.)</entry>
<entry key="error.missing.src">File not found: {0}
(Did you forget to use the ''src'' key?)</entry>
<entry key="error.dir.not.found">Directory not found: {0}</entry>
@@ -586,6 +591,7 @@ converted to @dualabbreviationentry.)</entry>
<entry key="error.syntax.batch.missing_in">Input file required for batch mode</entry>
<entry key="error.syntax.batch.missing_out">Output directory required for batch mode</entry>
<entry key="error.syntax.batch.unknown_format">Unknown format ''{0}''</entry>
+<entry key="error.syntax.unknown_debug_mode">Unknown debug mode ''{0}''</entry>
<entry key="error.exists">{0} already exists</entry>
<entry key="error.file_exists.nooverwrite">Can''t write to ''{0}'': file already exists (use {1} to force overwrite)</entry>
<entry key="error.no_matcher">Can''t match group {0}: no match found</entry>
diff --git a/support/bib2gls/bib2gls.1 b/support/bib2gls/bib2gls.1
index c92252702f..fb8ea43d20 100644
--- a/support/bib2gls/bib2gls.1
+++ b/support/bib2gls/bib2gls.1
@@ -1,4 +1,5 @@
-.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43)
+.\" -*- mode: troff; coding: utf-8 -*-
+.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
.\"
.\" Standard preamble:
.\" ========================================================================
@@ -15,29 +16,12 @@
.ft R
.fi
..
-.\" Set up some character translations and predefined strings. \*(-- will
-.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote. \*(C+ will
-.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
-.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
-.\" nothing in troff, for use with C<>.
-.tr \(*W-
-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
.ie n \{\
-. ds -- \(*W-
-. ds PI pi
-. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
-. ds L" ""
-. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
-. ds -- \|\(em\|
-. ds PI \(*p
-. ds L" ``
-. ds R" ''
. ds C`
. ds C'
'br\}
@@ -68,80 +52,18 @@
. \}
.\}
.rr rF
-.\"
-.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
-.\" Fear. Run. Save yourself. No user-serviceable parts.
-. \" fudge factors for nroff and troff
-.if n \{\
-. ds #H 0
-. ds #V .8m
-. ds #F .3m
-. ds #[ \f1
-. ds #] \fP
-.\}
-.if t \{\
-. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
-. ds #V .6m
-. ds #F 0
-. ds #[ \&
-. ds #] \&
-.\}
-. \" simple accents for nroff and troff
-.if n \{\
-. ds ' \&
-. ds ` \&
-. ds ^ \&
-. ds , \&
-. ds ~ ~
-. ds /
-.\}
-.if t \{\
-. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
-. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
-. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
-. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
-. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
-. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
-.\}
-. \" troff and (daisy-wheel) nroff accents
-.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
-.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
-.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
-.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
-.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
-.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
-.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
-.ds ae a\h'-(\w'a'u*4/10)'e
-.ds Ae A\h'-(\w'A'u*4/10)'E
-. \" corrections for vroff
-.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
-.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
-. \" for low resolution devices (crt and lpr)
-.if \n(.H>23 .if \n(.V>19 \
-\{\
-. ds : e
-. ds 8 ss
-. ds o a
-. ds d- d\h'-1'\(ga
-. ds D- D\h'-1'\(hy
-. ds th \o'bp'
-. ds Th \o'LP'
-. ds ae ae
-. ds Ae AE
-.\}
-.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "BIB2GLS 1"
-.TH BIB2GLS 1 "2022-12-05" "perl v5.36.0" "bib2gls"
+.TH BIB2GLS 1 2023-08-24 "perl v5.36.1" bib2gls
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
-.SH "SYNOPSIS"
+.SH SYNOPSIS
.IX Header "SYNOPSIS"
\&\fBbib2gls\fR [\fIoption\fR]+ \fIauxfile\fR
-.SH "DESCRIPTION"
+.SH DESCRIPTION
.IX Header "DESCRIPTION"
\&\fBbib2gls\fR is designed to work with the \fBglossaries-extra\fR LaTeX
package. (The \fBrecord\fR package option is required.) The application
@@ -155,148 +77,114 @@ The \fIauxfile\fR (and corresponding .log file) should either be in the
current directory or in the directory specified by \fB\-\-dir\fR. Bib files can
either be relative to the directory the \fIauxfile\fR is in
or in a location that can be found by kpsewhich.
-.SH "OPTIONS"
+.SH OPTIONS
.IX Header "OPTIONS"
-.IP "\fB\-\-help\fR or \fB\-h\fR" 4
-.IX Item "--help or -h"
-Display help message and exit.
-.IP "\fB\-\-version\fR or \fB\-v\fR" 4
-.IX Item "--version or -v"
-Display version information and exit.
-.IP "\fB\-\-debug\fR [\fIlevel\fR]" 4
-.IX Item "--debug [level]"
-Switch on the debug mode (optionally at the given \fIlevel\fR, which
-should be a non-negative integer). If \fIlevel\fR is \fB0\fR then the
-debug mode is switched off.
-.IP "\fB\-\-no\-debug\fR (or \fB\-\-nodebug\fR)" 4
-.IX Item "--no-debug (or --nodebug)"
-Switch off debug mode. (Equivalent to \fB\-\-debug\fR \fB0\fR)
-.IP "\fB\-\-verbose\fR" 4
-.IX Item "--verbose"
-Switch on verbose mode.
-.IP "\fB\-\-no\-verbose\fR (or \fB\-\-noverbose\fR)" 4
-.IX Item "--no-verbose (or --noverbose)"
-Switch off verbose mode. (Some messages will still be written to
-\&\s-1STDOUT.\s0)
-.IP "\fB\-\-silent\fR" 4
-.IX Item "--silent"
-Only display error messages. All other messages are just written to
-the transcript file.
-.IP "\fB\-\-locale\fR \fIlang\fR (or \fB\-l\fR \fIlang\fR)" 4
-.IX Item "--locale lang (or -l lang)"
-Use language resource file for \fIlang\fR (which should be an \s-1IETF\s0
-locale tag).
-.IP "\fB\-\-log\-file\fR \fIfile\fR (or \fB\-t\fR <file>)" 4
-.IX Item "--log-file file (or -t <file>)"
-Set the transcript file.
-.IP "\fB\-\-dir\fR \fIdirectory\fR (or \fB\-d\fR <directory>)" 4
-.IX Item "--dir directory (or -d <directory>)"
-Files are relative to \fIdirectory\fR. (This doesn't change the current
-working directory.)
-.IP "\fB\-\-tex\-encoding\fR \fIname\fR" 4
-.IX Item "--tex-encoding name"
-Set the character encoding for the output files. This overrides the
-setting given in \fIauxfile\fR.
-.IP "\fB\-\-interpret\fR" 4
-.IX Item "--interpret"
-Use the TeX parser library to interpret known (La)TeX commands
-(default).
-.IP "\fB\-\-no\-interpret\fR" 4
-.IX Item "--no-interpret"
-Don't try interpreting (La)TeX commands.
-.IP "\fB\-\-break\-space\fR" 4
+.IP \fB\-\-break\-space\fR 4
.IX Item "--break-space"
Interpret \f(CW\*(C`~\*(C'\fR (tilde) character and \f(CW\*(C`\enobreakspace\*(C'\fR as a normal space.
-.IP "\fB\-\-no\-break\-space\fR" 4
-.IX Item "--no-break-space"
-Interpret \f(CW\*(C`~\*(C'\fR (tilde) and \f(CW\*(C`\enobreakspace\*(C'\fR as a non-breaking space (default).
-.IP "\fB\-\-obey\-aux\-catcode\fR" 4
-.IX Item "--obey-aux-catcode"
-Obey known category code changing commands encountered in the aux
-file.
-.IP "\fB\-\-no\-obey\-aux\-catcode\fR" 4
-.IX Item "--no-obey-aux-catcode"
-Ignore category code changing commands encountered in the aux file.
-.IP "\fB\-\-cite\-as\-record\fR" 4
+.IP \fB\-\-cite\-as\-record\fR 4
.IX Item "--cite-as-record"
Treat \f(CW\*(C`\ecitation\*(C'\fR as an ignored record.
-.IP "\fB\-\-no\-cite\-as\-record\fR" 4
-.IX Item "--no-cite-as-record"
-Don't check for instances of \f(CW\*(C`\ecitation\*(C'\fR in the \fI.aux\fR file (default).
-.IP "\fB\-\-warn\-non\-bib\-fields\fR" 4
-.IX Item "--warn-non-bib-fields"
-Warn if internal non-bib fields are found in the \fI.bib\fR file.
-.IP "\fB\-\-no\-warn\-non\-bib\-fields\fR" 4
-.IX Item "--no-warn-non-bib-fields"
-Don't warn if internal non-bib fields are found in the \fI.bib\fR file.
-The use of these internal fields can cause unexpected results, so
-only use this option if you have taken appropriate precautions.
-.IP "\fB\-\-warn\-unknown\-entry\-types\fR" 4
-.IX Item "--warn-unknown-entry-types"
-Warn if any unknown entry types are found in the \fI.bib\fR file.
-.IP "\fB\-\-no\-warn\-unknown\-entry\-types\fR" 4
-.IX Item "--no-warn-unknown-entry-types"
-Don't warn if any unknown entry types are found in the \fI.bib\fR file.
-.IP "\fB\-\-merge\-wrglossary\-records\fR" 4
-.IX Item "--merge-wrglossary-records"
-Merge an entry's \fBwrglossary\fR records for the same page locations.
-(For use with the \fBindexcounter\fR package option.)
-.IP "\fB\-\-no\-merge\-wrglossary\-records\fR" 4
-.IX Item "--no-merge-wrglossary-records"
-Don't merge an entry's \fBwrglossary\fR records.
-.IP "\fB\-\-collapse\-same\-location\-range\fR" 4
+.IP \fB\-\-collapse\-same\-location\-range\fR 4
.IX Item "--collapse-same-location-range"
Collapse an explicit range that has a duplicate start and end
location into a normal record (default).
-.IP "\fB\-\-no\-collapse\-same\-location\-range\fR" 4
-.IX Item "--no-collapse-same-location-range"
-Don't collapse an explicit range that has a duplicate start and end
-location into a normal record.
-.IP "\fB\-\-retain\-formats\fR \fIlist\fR" 4
-.IX Item "--retain-formats list"
-Indicates which location formats should always be retained even if
-it causes a partial duplicate. Only exact duplicates will be merged.
-.IP "\fB\-\-no\-retain\-formats\fR" 4
-.IX Item "--no-retain-formats"
-Normal location merging rules apply (default).
-.IP "\fB\-\-merge\-nameref\-on\fR \fIrule\fR" 4
-.IX Item "--merge-nameref-on rule"
-Rule for merging locations created with the \fBrecord=nameref\fR package option
-(requires \fIglossaries\-extra.sty\fR version 1.37+). The \fIrule\fR may be
-one of: \fBhcounter\fR, \fBhref\fR, \fBtitle\fR or \fBlocation\fR.
-.IP "\fB\-\-force\-cross\-resource\-refs\fR or \fB\-x\fR" 4
-.IX Item "--force-cross-resource-refs or -x"
-Force cross-resource referencing mode on.
-.IP "\fB\-\-no\-force\-cross\-resource\-refs\fR" 4
-.IX Item "--no-force-cross-resource-refs"
-Don't force cross-resource referencing mode on (default).
-.IP "\fB\-\-support\-unicode\-script\fR" 4
-.IX Item "--support-unicode-script"
-Text superscript (\f(CW\*(C`\etextsuperscript\*(C'\fR) or subscripts (\f(CW\*(C`\etextsubscript\*(C'\fR)
-will use Unicode superscript/subscript characters if available.
-For example, \f(CW\*(C`\etextsuperscript{2}\*(C'\fR will be converted to U+00B2
-(superscript two).
-.IP "\fB\-\-no\-support\-unicode\-script\fR" 4
-.IX Item "--no-support-unicode-script"
-Text superscript (\f(CW\*(C`\etextsuperscript\*(C'\fR) or subscripts (\f(CW\*(C`\etextsubscript\*(C'\fR)
-won't be converted to Unicode superscript/subscript characters.
-For example, \f(CW\*(C`\etextsuperscript{2}\*(C'\fR will be converted to \f(CW\*(C`<sup>2</sup>\*(C'\fR
-and the markup will be stripped leaving just the character 2.
-.IP "\fB\-\-packages\fR \fIlist\fR (or \fB\-p\fR \fIlist\fR)" 4
-.IX Item "--packages list (or -p list)"
-Instruct the TeX parser library to pretend the packages listed
-in \fIlist\fR have been used by the document. Note that there's only a
-limited number of packages supported by the TeX parser library.
-This option has a cumulative action so \fB\-\-packages wasysym,pifont\fR
-is the same as \fB\-\-packages wasysym \-\-packages pifont\fR.
-.Sp
-You can find out the list of supported packages with
-\&\fB\-\-list\-known\-packages\fR.
.IP "\fB\-\-custom\-packages\fR \fIlist\fR" 4
.IX Item "--custom-packages list"
Instruct the TeX parser library to attempt to parse the
packages listed in \fIlist\fR. This is intended for simple custom
packages that don't contain complex code.
+.IP "\fB\-\-debug\fR [\fIn\fR]" 4
+.IX Item "--debug [n]"
+Switch on the debug mode at the given setting \fIn\fR, which
+should be a non-negative integer. If \fIn\fR is \fB0\fR then the
+debug mode is switched off. If omitted, \fIn\fR is set to 1, which
+corresponds to \fB\-\-debug\-mode\fR \fBio\fR. Any positive number will
+enable all of \fBbib2gls\fR's debugging messages. The amount of
+TeX Parser Library debugging messages depends on bitwise operation of \fIn\fR.
+.IP "\fB\-\-debug\-mode\fR \fIsetting\fR" 4
+.IX Item "--debug-mode setting"
+May be used instead of \fB\-\-debug\fR where the level number is
+difficult to remember. The \fIsetting\fR may be a comma-separated list
+of any of the keywords:
+.RS 4
+.IP \fBall\fR 4
+.IX Item "all"
+Highest level (likely to result in a large transcript file). Equivalent to
+switching on all settings.
+.IP \fBcatcode\fR 4
+.IX Item "catcode"
+TeX Parser category code changes.
+.IP \fBcs\fR 4
+.IX Item "cs"
+TeX Parser command definitions.
+.IP \fBdecl\fR 4
+.IX Item "decl"
+TeX Parser declarations.
+.IP \fBexpansion\fR 4
+.IX Item "expansion"
+TeX Parser expansions (may result in a large transcript file).
+.IP \fBexpansion-list\fR 4
+.IX Item "expansion-list"
+TeX Parser stack expansions (may result in a large transcript file).
+.IP \fBexpansion-once\fR 4
+.IX Item "expansion-once"
+TeX Parser one-level expansions.
+.IP \fBexpansion-once-list\fR 4
+.IX Item "expansion-once-list"
+TeX Parser one-level list expansions.
+.IP \fBio\fR 4
+.IX Item "io"
+TeX Parser I/O operations (open, close and fetch token).
+.IP \fBpopped\fR 4
+.IX Item "popped"
+TeX Parser stack popping.
+.IP \fBprocess\fR 4
+.IX Item "process"
+TeX Parser macro process (may result in a large transcript file).
+.IP \fBprocess-generic-cs\fR 4
+.IX Item "process-generic-cs"
+TeX Parser generic command process.
+.IP \fBprocess-stack\fR 4
+.IX Item "process-stack"
+TeX Parser stack process (may result in a large transcript file).
+.IP \fBprocess-stack-list\fR 4
+.IX Item "process-stack-list"
+TeX Parser detailed stack process (may result in a large transcript file).
+.IP \fBread\fR 4
+.IX Item "read"
+TeX Parser codepoint read from file (likely to result in a large
+transcript file).
+.IP \fBsty-data\fR 4
+.IX Item "sty-data"
+TeX Parser data (typically relates to internal objects that don't
+have an analogous TeX macro). This includes data gathered from the
+aux file.
+.RE
+.RS 4
+.Sp
+For example: \f(CW\*(C`bib2gls \-\-debug\-mode io,catcode,sty\-data mydoc\*(C'\fR
+.RE
+.IP "\fB\-\-default\-encoding\fR \fIname\fR" 4
+.IX Item "--default-encoding name"
+Set the default character encoding for input and output files.
+If omitted, the JVM default encoding is assumed.
+.IP "\fB\-\-dir\fR \fIdirectory\fR (or \fB\-d\fR <directory>)" 4
+.IX Item "--dir directory (or -d <directory>)"
+Files are relative to \fIdirectory\fR. (This doesn't change the current
+working directory.)
+.IP \fB\-\-expand\-fields\fR 4
+.IX Item "--expand-fields"
+Don't write \f(CW\*(C`\eglsnoexpandfields\*(C'\fR to the \fI.glstex\fR file.
+.IP "\fB\-\-force\-cross\-resource\-refs\fR or \fB\-x\fR" 4
+.IX Item "--force-cross-resource-refs or -x"
+Force cross-resource referencing mode on.
+.IP "\fB\-\-group\fR or \fB\-g\fR" 4
+.IX Item "--group or -g"
+Add \fBgroup\fR field to entries.
+.IP "\fB\-\-help\fR or \fB\-h\fR" 4
+.IX Item "--help or -h"
+Display help message and exit.
.IP "\fB\-\-ignore\-packages\fR \fIlist\fR (or \fB\-k\fR \fIlist\fR)" 4
.IX Item "--ignore-packages list (or -k list)"
Don't parse the log file for the packages listed in \fIlist\fR. Note
@@ -305,11 +193,42 @@ listed in both \fB\-\-ignore\-packages\fR and \fB\-\-packages\fR then the
interpreter will check if it's supported. This option has a
cumulative action. Only known packages may be included in
\&\fIlist\fR.
-.IP "\fB\-\-list\-known\-packages\fR" 4
+.IP \fB\-\-interpret\fR 4
+.IX Item "--interpret"
+Use the TeX Parser Library to interpret known (La)TeX commands
+(default).
+.IP \fB\-\-list\-known\-packages\fR 4
.IX Item "--list-known-packages"
Lists all the packages that have are known to the TeX parser
library and then exits (with exit code 0). Any of the listed
packages may be used in \fB\-\-packages\fR or \fB\-\-ignore\-packages\fR.
+.IP "\fB\-\-locale\fR \fIlang\fR (or \fB\-l\fR \fIlang\fR)" 4
+.IX Item "--locale lang (or -l lang)"
+Use language resource file for \fIlang\fR (which should be an IETF
+locale tag).
+.IP "\fB\-\-log\-encoding\fR \fIname\fR" 4
+.IX Item "--log-encoding name"
+Set the character encoding for the \fIlog\fR files (which may not be
+the same as the encoding for the document LaTeX files).
+.IP "\fB\-\-log\-file\fR \fIfile\fR (or \fB\-t\fR <file>)" 4
+.IX Item "--log-file file (or -t <file>)"
+Set the transcript file.
+.IP "\fB\-\-merge\-nameref\-on\fR \fIrule\fR" 4
+.IX Item "--merge-nameref-on rule"
+Rule for merging locations created with the \fBrecord=nameref\fR package option
+(requires \fIglossaries\-extra.sty\fR version 1.37+). The \fIrule\fR may be
+one of: \fBhcounter\fR, \fBhref\fR, \fBtitle\fR or \fBlocation\fR.
+.IP \fB\-\-merge\-wrglossary\-records\fR 4
+.IX Item "--merge-wrglossary-records"
+Merge an entry's \fBwrglossary\fR records for the same page locations.
+(For use with the \fBindexcounter\fR package option.)
+.IP \fB\-\-mfirstuc\-math\-protection\fR 4
+.IX Item "--mfirstuc-math-protection"
+Switch on the auto-insertion of an empty group for math-shift (\f(CW\*(C`$\*(C'\fR).
+.Sp
+If \fImfirstuc\fR v2.08+, \fIglossaries\fR v4.50+ and \fIglossaries-extra\fR v1.49+
+are detected, the default will be \fB\-\-no\-mfirstuc\-math\-protection\fR
+as there should no longer be any need for this protection.
.IP "\fB\-\-mfirstuc\-protection\fR \fIfields\fR|\fBall\fR (or \fB\-u\fR \fIfields\fR|\fBall\fR)" 4
.IX Item "--mfirstuc-protection fields|all (or -u fields|all)"
Insert an empty group if fields start with certain problematic
@@ -322,19 +241,6 @@ subset of fields, set \fIfields\fR to a comma-separated list of fields
If \fImfirstuc\fR v2.08+, \fIglossaries\fR v4.50+ and \fIglossaries-extra\fR v1.49+
are detected, the default will be \fB\-\-no\-mfirstuc\-protection\fR
as there should no longer be any need for this protection.
-.IP "\fB\-\-no\-mfirstuc\-protection\fR" 4
-.IX Item "--no-mfirstuc-protection"
-Switch off the auto-insertion of an empty group for all fields.
-.IP "\fB\-\-mfirstuc\-math\-protection\fR" 4
-.IX Item "--mfirstuc-math-protection"
-Switch on the auto-insertion of an empty group for math-shift (\f(CW\*(C`$\*(C'\fR).
-.Sp
-If \fImfirstuc\fR v2.08+, \fIglossaries\fR v4.50+ and \fIglossaries-extra\fR v1.49+
-are detected, the default will be \fB\-\-no\-mfirstuc\-math\-protection\fR
-as there should no longer be any need for this protection.
-.IP "\fB\-\-no\-mfirstuc\-math\-protection\fR" 4
-.IX Item "--no-mfirstuc-math-protection"
-Switch off the auto-insertion of an empty group for math-shift (\f(CW\*(C`$\*(C'\fR).
.IP "\fB\-\-nested\-link\-check\fR \fIlist\fR|\fBnone\fR" 4
.IX Item "--nested-link-check list|none"
Check each field listed in \fIlist\fR for potentially problematic
@@ -342,25 +248,114 @@ nested link text. (Default list: name, text, plural, first,
firstplural, short, shortplural, long, longplural, symbol).
.Sp
If \fBnone\fR, disable check.
-.IP "\fB\-\-no\-nested\-link\-check\fR" 4
+.IP \fB\-\-no\-break\-space\fR 4
+.IX Item "--no-break-space"
+Interpret \f(CW\*(C`~\*(C'\fR (tilde) and \f(CW\*(C`\enobreakspace\*(C'\fR as a non-breaking space (default).
+.IP \fB\-\-no\-cite\-as\-record\fR 4
+.IX Item "--no-cite-as-record"
+Don't check for instances of \f(CW\*(C`\ecitation\*(C'\fR in the \fI.aux\fR file (default).
+.IP \fB\-\-no\-collapse\-same\-location\-range\fR 4
+.IX Item "--no-collapse-same-location-range"
+Don't collapse an explicit range that has a duplicate start and end
+location into a normal record.
+.IP "\fB\-\-no\-debug\fR (or \fB\-\-nodebug\fR)" 4
+.IX Item "--no-debug (or --nodebug)"
+Switch off debug mode. (Equivalent to \fB\-\-debug\fR \fB0\fR)
+.IP \fB\-\-no\-expand\-fields\fR 4
+.IX Item "--no-expand-fields"
+Write \f(CW\*(C`\eglsnoexpandfields\*(C'\fR to the \fI.glstex\fR file (default).
+.IP \fB\-\-no\-force\-cross\-resource\-refs\fR 4
+.IX Item "--no-force-cross-resource-refs"
+Don't force cross-resource referencing mode on (default).
+.IP \fB\-\-no\-group\fR 4
+.IX Item "--no-group"
+Don't add \fBgroup\fR field to entries (default).
+.IP \fB\-\-no\-interpret\fR 4
+.IX Item "--no-interpret"
+Don't try interpreting (La)TeX commands. The TeX Parser Library will
+still be used to parse the \fIaux\fR and \fIbib\fR files.
+.IP \fB\-\-no\-merge\-wrglossary\-records\fR 4
+.IX Item "--no-merge-wrglossary-records"
+Don't merge an entry's \fBwrglossary\fR records.
+.IP \fB\-\-no\-mfirstuc\-math\-protection\fR 4
+.IX Item "--no-mfirstuc-math-protection"
+Switch off the auto-insertion of an empty group for math-shift (\f(CW\*(C`$\*(C'\fR).
+.IP \fB\-\-no\-mfirstuc\-protection\fR 4
+.IX Item "--no-mfirstuc-protection"
+Switch off the auto-insertion of an empty group for all fields.
+.IP \fB\-\-no\-nested\-link\-check\fR 4
.IX Item "--no-nested-link-check"
Don't check for potentially problematic nested link text.
(Equivalent to \fB\-\-nested\-link\-check\fR \fBnone\fR)
-.IP "\fB\-\-shortcuts\fR \fIoption\fR" 4
-.IX Item "--shortcuts option"
-Check for the shortcut commands when searching for dependencies.
-Permitted values of \fIoption\fR: \fBacronyms\fR (or \fBacro\fR), \fBac\fR,
-\&\fBabbreviations\fR (or \fBabbr\fR), \fBall\fR (or \fBtrue\fR), \fBnone\fR (or
-\&\fBfalse\fR). This overrides the setting given in \fIauxfile\fR.
-.IP "\fB\-\-map\-format\fR \fIkey\fR\fB:\fR\fIvalue\fR[\fB,\fR\fIkey\fR\fB:\fR\fIvalue\fR]* (or \fB\-m\fR \fIkey\fR\fB:\fR\fIvalue\fR[\fB,\fR\fIkey\fR\fB:\fR\fIvalue\fR]*)" 4
-.IX Item "--map-format key:value[,key:value]* (or -m key:value[,key:value]*)"
-Set location format mappings.
-.IP "\fB\-\-group\fR or \fB\-g\fR" 4
-.IX Item "--group or -g"
-Add \fBgroup\fR field to entries.
-.IP "\fB\-\-no\-group\fR" 4
-.IX Item "--no-group"
-Don't add \fBgroup\fR field to entries (default).
+.IP \fB\-\-no\-obey\-aux\-catcode\fR 4
+.IX Item "--no-obey-aux-catcode"
+Ignore category code changing commands encountered in the aux file.
+.IP \fB\-\-no\-provide\-glossaries\fR 4
+.IX Item "--no-provide-glossaries"
+Don't write \f(CW\*(C`\eprovideignoredglossary*\*(C'\fR to the \fI.glstex\fR file to
+provide unknown glossaries except in documented situations
+(\fBmaster\fR, \fBsecondary\fR and \fBtrigger-type\fR resource options).
+This setting is the default.
+.IP \fB\-\-no\-record\-count\fR 4
+.IX Item "--no-record-count"
+Don't add record count field to entries (default).
+This option automatically implements \fB\-\-no\-record\-count\-unit\fR.
+.IP \fB\-\-no\-record\-count\-unit\fR 4
+.IX Item "--no-record-count-unit"
+Don't add unit record count field to entries (default).
+.IP \fB\-\-no\-replace\-quotes\fR 4
+.IX Item "--no-replace-quotes"
+Don't replace quote characters (default).
+.IP \fB\-\-no\-retain\-formats\fR 4
+.IX Item "--no-retain-formats"
+Normal location merging rules apply (default).
+.IP \fB\-\-no\-support\-unicode\-script\fR 4
+.IX Item "--no-support-unicode-script"
+Text superscript (\f(CW\*(C`\etextsuperscript\*(C'\fR) or subscripts (\f(CW\*(C`\etextsubscript\*(C'\fR)
+won't be converted to Unicode superscript/subscript characters.
+For example, \f(CW\*(C`\etextsuperscript{2}\*(C'\fR will be converted to \f(CW\*(C`<sup>2</sup>\*(C'\fR
+and the markup will be stripped leaving just the character 2.
+.IP \fB\-\-no\-trim\-fields\fR 4
+.IX Item "--no-trim-fields"
+Don't trim leading and trailing spaces from fields (default).
+This option cancels \fB\-\-trim\-only\-fields\fR and \fB\-\-trim\-fields\fR.
+.IP "\fB\-\-no\-verbose\fR (or \fB\-\-noverbose\fR)" 4
+.IX Item "--no-verbose (or --noverbose)"
+Switch off verbose mode. (Some messages will still be written to
+STDOUT.)
+.IP \fB\-\-no\-warn\-non\-bib\-fields\fR 4
+.IX Item "--no-warn-non-bib-fields"
+Don't warn if internal non-bib fields are found in the \fI.bib\fR file.
+The use of these internal fields can cause unexpected results, so
+only use this option if you have taken appropriate precautions.
+.IP \fB\-\-no\-warn\-unknown\-entry\-types\fR 4
+.IX Item "--no-warn-unknown-entry-types"
+Don't warn if any unknown entry types are found in the \fI.bib\fR file.
+.IP \fB\-\-obey\-aux\-catcode\fR 4
+.IX Item "--obey-aux-catcode"
+Obey known category code changing commands encountered in the aux
+file.
+.IP "\fB\-\-packages\fR \fIlist\fR (or \fB\-p\fR \fIlist\fR)" 4
+.IX Item "--packages list (or -p list)"
+Instruct the TeX parser library to pretend the packages listed
+in \fIlist\fR have been used by the document. Note that there's only a
+limited number of packages supported by the TeX parser library.
+This option has a cumulative action so \fB\-\-packages wasysym,pifont\fR
+is the same as \fB\-\-packages wasysym \-\-packages pifont\fR.
+.Sp
+You can find out the list of supported packages with
+\&\fB\-\-list\-known\-packages\fR.
+.IP \fB\-\-provide\-glossaries\fR 4
+.IX Item "--provide-glossaries"
+Write \f(CW\*(C`\eprovideignoredglossary*\*(C'\fR to the \fI.glstex\fR file to provide
+unknown glossaries.
+.IP "\fB\-\-quiet\fR (or \fB\-q\fR)" 4
+.IX Item "--quiet (or -q)"
+Only display error messages. All other messages are just written to
+the transcript file.
+.IP "\fB\-\-record\-count\fR or \fB\-c\fR" 4
+.IX Item "--record-count or -c"
+Add record count fields to entries.
.IP "\fB\-\-record\-count\-rule\fR \fIrule\fR or \fB\-r\fR \fIrule\fR" 4
.IX Item "--record-count-rule rule or -r rule"
Sets the rule used by \fB\-\-record\-count\fR and \fB\-\-record\-count\-unit\fR.
@@ -375,24 +370,52 @@ matches the regular expression \fIregex\fR),
or \f(CW\*(C`f/\*(C'\fR\fIregex1\fR\f(CW\*(C`/c/\*(C'\fR\fIregex2\fR\f(CW\*(C`/\*(C'\fR\fIop\fR (only count records where the format
matches the regular expression \fIregex1\fR and/or the counter name
matches the regular expression \fIregex2\fR). The \fIop\fR part is
-optional. If present it may be one of: \f(CW\*(C`and\*(C'\fR (format \s-1AND\s0 counter
-must match), \f(CW\*(C`or\*(C'\fR (format \s-1OR\s0 counter must match). If \fIop\fR is
-omitted, \s-1AND\s0 is assumed.
-.IP "\fB\-\-record\-count\fR or \fB\-c\fR" 4
-.IX Item "--record-count or -c"
-Add record count fields to entries.
-.IP "\fB\-\-no\-record\-count\fR" 4
-.IX Item "--no-record-count"
-Don't add record count field to entries (default).
-This option automatically implements \fB\-\-no\-record\-count\-unit\fR.
+optional. If present it may be one of: \f(CW\*(C`and\*(C'\fR (format AND counter
+must match), \f(CW\*(C`or\*(C'\fR (format OR counter must match). If \fIop\fR is
+omitted, AND is assumed.
.IP "\fB\-\-record\-count\-unit\fR or \fB\-n\fR" 4
.IX Item "--record-count-unit or -n"
Add unit record count fields to entries.
This option automatically implements \fB\-\-record\-count\fR.
-.IP "\fB\-\-no\-record\-count\-unit\fR" 4
-.IX Item "--no-record-count-unit"
-Don't add unit record count field to entries (default).
-.IP "\fB\-\-trim\-fields\fR" 4
+.IP \fB\-\-replace\-quotes\fR 4
+.IX Item "--replace-quotes"
+Replace single and double quote characters (\f(CW\*(C`\*(Aq\*(C'\fR and \f(CW\*(C`"\*(C'\fR) with
+\&\f(CW\*(C`\ebibglsaposchar\*(C'\fR and \f(CW\*(C`\ebibglsdoublequotechar\*(C'\fR in field values
+and group information written to the \fI.glstex\fR file.
+.IP "\fB\-\-retain\-formats\fR \fIlist\fR" 4
+.IX Item "--retain-formats list"
+Indicates which location formats should always be retained even if
+it causes a partial duplicate. Only exact duplicates will be merged.
+.IP "\fB\-\-shortcuts\fR \fIoption\fR" 4
+.IX Item "--shortcuts option"
+Check for the shortcut commands when searching for dependencies.
+Permitted values of \fIoption\fR: \fBacronyms\fR (or \fBacro\fR), \fBac\fR,
+\&\fBabbreviations\fR (or \fBabbr\fR), \fBall\fR (or \fBtrue\fR), \fBnone\fR (or
+\&\fBfalse\fR). This overrides the setting given in \fIauxfile\fR.
+.IP "\fB\-\-map\-format\fR \fIkey\fR\fB:\fR\fIvalue\fR[\fB,\fR\fIkey\fR\fB:\fR\fIvalue\fR]* (or \fB\-m\fR \fIkey\fR\fB:\fR\fIvalue\fR[\fB,\fR\fIkey\fR\fB:\fR\fIvalue\fR]*)" 4
+.IX Item "--map-format key:value[,key:value]* (or -m key:value[,key:value]*)"
+Set location format mappings.
+.IP \fB\-\-silent\fR 4
+.IX Item "--silent"
+Only display error messages. All other messages are just written to
+the transcript file. (Synonym of \fB\-\-quiet\fR.)
+.IP \fB\-\-support\-unicode\-script\fR 4
+.IX Item "--support-unicode-script"
+Text superscript (\f(CW\*(C`\etextsuperscript\*(C'\fR) or subscripts (\f(CW\*(C`\etextsubscript\*(C'\fR)
+will use Unicode superscript/subscript characters if available.
+For example, \f(CW\*(C`\etextsuperscript{2}\*(C'\fR will be converted to U+00B2
+(superscript two).
+.IP "\fB\-\-tex\-encoding\fR \fIname\fR" 4
+.IX Item "--tex-encoding name"
+Set the character encoding for the \fIglstex\fR files. This overrides the
+setting given in \fIauxfile\fR.
+.IP "\fB\-\-trim\-except\-fields\fR \fIlist\fR" 4
+.IX Item "--trim-except-fields list"
+Trim leading and trailing spaces from all fields except those listed.
+This option is cumulative but is cancelled by \fB\-\-trim\-fields\fR
+and \fB\-\-no\-trim\-fields\fR. This option may not be used with
+\&\fB\-\-trim\-only\-fields\fR.
+.IP \fB\-\-trim\-fields\fR 4
.IX Item "--trim-fields"
Trim leading and trailing spaces from all fields.
This option cancels \fB\-\-trim\-only\-fields\fR and \fB\-\-no\-trim\-fields\fR.
@@ -402,49 +425,27 @@ Trim leading and trailing spaces from only the listed fields.
This option is cumulative but is cancelled by \fB\-\-trim\-fields\fR
and \fB\-\-no\-trim\-fields\fR. This option may not be used with
\&\fB\-\-trim\-except\-fields\fR.
-.IP "\fB\-\-trim\-except\-fields\fR \fIlist\fR" 4
-.IX Item "--trim-except-fields list"
-Trim leading and trailing spaces from all fields except those listed.
-This option is cumulative but is cancelled by \fB\-\-trim\-fields\fR
-and \fB\-\-no\-trim\-fields\fR. This option may not be used with
-\&\fB\-\-trim\-only\-fields\fR.
-.IP "\fB\-\-no\-trim\-fields\fR" 4
-.IX Item "--no-trim-fields"
-Don't trim leading and trailing spaces from fields (default).
-This option cancels \fB\-\-trim\-only\-fields\fR and \fB\-\-trim\-fields\fR.
-.IP "\fB\-\-expand\-fields\fR" 4
-.IX Item "--expand-fields"
-Don't write \f(CW\*(C`\eglsnoexpandfields\*(C'\fR to the \fI.glstex\fR file.
-.IP "\fB\-\-no\-expand\-fields\fR" 4
-.IX Item "--no-expand-fields"
-Write \f(CW\*(C`\eglsnoexpandfields\*(C'\fR to the \fI.glstex\fR file (default).
-.IP "\fB\-\-provide\-glossaries\fR" 4
-.IX Item "--provide-glossaries"
-Write \f(CW\*(C`\eprovideignoredglossary*\*(C'\fR to the \fI.glstex\fR file to provide
-unknown glossaries.
-.IP "\fB\-\-no\-provide\-glossaries\fR" 4
-.IX Item "--no-provide-glossaries"
-Don't write \f(CW\*(C`\eprovideignoredglossary*\*(C'\fR to the \fI.glstex\fR file to
-provide unknown glossaries except in documented situations
-(\fBmaster\fR, \fBsecondary\fR and \fBtrigger-type\fR resource options).
-This setting is the default.
-.IP "\fB\-\-replace\-quotes\fR" 4
-.IX Item "--replace-quotes"
-Replace single and double quote characters (\f(CW\*(C`\*(Aq\*(C'\fR and \f(CW\*(C`"\*(C'\fR) with
-\&\f(CW\*(C`\ebibglsaposchar\*(C'\fR and \f(CW\*(C`\ebibglsdoublequotechar\*(C'\fR in field values
-and group information written to the \fI.glstex\fR file.
-.IP "\fB\-\-no\-replace\-quotes\fR" 4
-.IX Item "--no-replace-quotes"
-Don't replace quote characters (default).
-.SH "REQUIRES"
+.IP \fB\-\-verbose\fR 4
+.IX Item "--verbose"
+Switch on verbose mode.
+.IP "\fB\-\-version\fR or \fB\-v\fR" 4
+.IX Item "--version or -v"
+Display version information and exit.
+.IP \fB\-\-warn\-non\-bib\-fields\fR 4
+.IX Item "--warn-non-bib-fields"
+Warn if internal non-bib fields are found in the \fI.bib\fR file.
+.IP \fB\-\-warn\-unknown\-entry\-types\fR 4
+.IX Item "--warn-unknown-entry-types"
+Warn if any unknown entry types are found in the \fI.bib\fR file.
+.SH REQUIRES
.IX Header "REQUIRES"
Java 8 or later and a TeX distribution.
-.SH "LICENSE"
+.SH LICENSE
.IX Header "LICENSE"
-License GPLv3+: \s-1GNU GPL\s0 version 3 or later
+License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
-There is \s-1NO WARRANTY,\s0 to the extent permitted by law.
+There is NO WARRANTY, to the extent permitted by law.
.SH "RECOMMENDED READING"
.IX Header "RECOMMENDED READING"
The bib2gls manual:
@@ -464,7 +465,7 @@ The glossaries manual:
.Vb 1
\& texdoc glossaries
.Ve
-.SH "AUTHOR"
+.SH AUTHOR
.IX Header "AUTHOR"
Nicola L. C. Talbot,
<https://www.dickimaw\-books.com/>
diff --git a/support/bib2gls/bib2gls.pdf b/support/bib2gls/bib2gls.pdf
index e33fe72439..264d02977f 100644
--- a/support/bib2gls/bib2gls.pdf
+++ b/support/bib2gls/bib2gls.pdf
Binary files differ
diff --git a/support/bib2gls/convertgls2bib.1 b/support/bib2gls/convertgls2bib.1
index 36295b9a09..5431556207 100644
--- a/support/bib2gls/convertgls2bib.1
+++ b/support/bib2gls/convertgls2bib.1
@@ -1,4 +1,5 @@
-.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43)
+.\" -*- mode: troff; coding: utf-8 -*-
+.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
.\"
.\" Standard preamble:
.\" ========================================================================
@@ -15,29 +16,12 @@
.ft R
.fi
..
-.\" Set up some character translations and predefined strings. \*(-- will
-.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote. \*(C+ will
-.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
-.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
-.\" nothing in troff, for use with C<>.
-.tr \(*W-
-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
.ie n \{\
-. ds -- \(*W-
-. ds PI pi
-. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
-. ds L" ""
-. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
-. ds -- \|\(em\|
-. ds PI \(*p
-. ds L" ``
-. ds R" ''
. ds C`
. ds C'
'br\}
@@ -68,85 +52,23 @@
. \}
.\}
.rr rF
-.\"
-.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
-.\" Fear. Run. Save yourself. No user-serviceable parts.
-. \" fudge factors for nroff and troff
-.if n \{\
-. ds #H 0
-. ds #V .8m
-. ds #F .3m
-. ds #[ \f1
-. ds #] \fP
-.\}
-.if t \{\
-. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
-. ds #V .6m
-. ds #F 0
-. ds #[ \&
-. ds #] \&
-.\}
-. \" simple accents for nroff and troff
-.if n \{\
-. ds ' \&
-. ds ` \&
-. ds ^ \&
-. ds , \&
-. ds ~ ~
-. ds /
-.\}
-.if t \{\
-. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
-. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
-. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
-. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
-. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
-. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
-.\}
-. \" troff and (daisy-wheel) nroff accents
-.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
-.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
-.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
-.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
-.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
-.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
-.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
-.ds ae a\h'-(\w'a'u*4/10)'e
-.ds Ae A\h'-(\w'A'u*4/10)'E
-. \" corrections for vroff
-.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
-.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
-. \" for low resolution devices (crt and lpr)
-.if \n(.H>23 .if \n(.V>19 \
-\{\
-. ds : e
-. ds 8 ss
-. ds o a
-. ds d- d\h'-1'\(ga
-. ds D- D\h'-1'\(hy
-. ds th \o'bp'
-. ds Th \o'LP'
-. ds ae ae
-. ds Ae AE
-.\}
-.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "CONVERTGLS2BIB 1"
-.TH CONVERTGLS2BIB 1 "2020-02-11" "perl v5.34.1" "convertgls2bib"
+.TH CONVERTGLS2BIB 1 2020-02-11 "perl v5.36.1" convertgls2bib
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
-.SH "SYNOPSIS"
+.SH SYNOPSIS
.IX Header "SYNOPSIS"
\&\fBconvertgls2bib\fR [\fIoption\fR]+ \fIauxfile\fR
-.SH "DESCRIPTION"
+.SH DESCRIPTION
.IX Header "DESCRIPTION"
Converts a \fB.tex\fR file containing glossary definitions using
commands like \f(CW\*(C`\enewglossaryentry\*(C'\fR and \f(CW\*(C`\enewacronym\*(C'\fR to
a \fB.bib\fR file in the format required for \fBbib2gls\fR.
-.SH "OPTIONS"
+.SH OPTIONS
.IX Header "OPTIONS"
.IP "\fB\-\-help\fR or \fB\-h\fR" 4
.IX Item "--help or -h"
@@ -154,13 +76,13 @@ Display help message and exit.
.IP "\fB\-\-version\fR or \fB\-v\fR" 4
.IX Item "--version or -v"
Display version information and exit.
-.IP "\fB\-\-silent\fR" 4
+.IP \fB\-\-silent\fR 4
.IX Item "--silent"
Suppress all messages except for errors.
-.IP "\fB\-\-verbose\fR" 4
+.IP \fB\-\-verbose\fR 4
.IX Item "--verbose"
Display messages.
-.IP "\fB\-\-debug\fR" 4
+.IP \fB\-\-debug\fR 4
.IX Item "--debug"
Display debugging messages.
.IP "\fB\-\-texenc\fR \fIname\fR" 4
@@ -169,16 +91,16 @@ Set the character encoding to \fIname\fR for the input \fB.tex\fR files.
.IP "\fB\-\-bibenc\fR \fIname\fR" 4
.IX Item "--bibenc name"
Set the character encoding to \fIname\fR for the output \fB.bib\fR files.
-.IP "\fB\-\-ignore\-sort\fR" 4
+.IP \fB\-\-ignore\-sort\fR 4
.IX Item "--ignore-sort"
Ignore the \fBsort\fR field (default).
-.IP "\fB\-\-no\-ignore\-sort\fR" 4
+.IP \fB\-\-no\-ignore\-sort\fR 4
.IX Item "--no-ignore-sort"
Don't ignore the \fBsort\fR field.
-.IP "\fB\-\-ignore\-type\fR" 4
+.IP \fB\-\-ignore\-type\fR 4
.IX Item "--ignore-type"
Omit the \fBtype\fR field. Default if \fB\-\-split\-on\-type\fR.
-.IP "\fB\-\-no\-ignore\-type\fR" 4
+.IP \fB\-\-no\-ignore\-type\fR 4
.IX Item "--no-ignore-type"
Don't omit the \fBtype\fR field. Default unless \fB\-\-split\-on\-type\fR.
.IP "\fB\-\-split\-on\-type\fR or \fB\-t\fR" 4
@@ -186,14 +108,14 @@ Don't omit the \fBtype\fR field. Default unless \fB\-\-split\-on\-type\fR.
Split the entries into separate files according to the \fBtype\fR field.
This option automatically implements \fB\-\-ignore\-type\fR and
\&\fB\-\-no\-overwrite\fR.
-.IP "\fB\-\-no\-split\-on\-type\fR" 4
+.IP \fB\-\-no\-split\-on\-type\fR 4
.IX Item "--no-split-on-type"
Don't split the entries into separate files according to the \fBtype\fR
field (default).
-.IP "\fB\-\-ignore\-category\fR" 4
+.IP \fB\-\-ignore\-category\fR 4
.IX Item "--ignore-category"
Omit the \fBcategory\fR field. Default if \fB\-\-split\-on\-category\fR.
-.IP "\fB\-\-no\-ignore\-category\fR" 4
+.IP \fB\-\-no\-ignore\-category\fR 4
.IX Item "--no-ignore-category"
Don't omit the \fBcategory\fR field. Default unless \fB\-\-split\-on\-category\fR.
.IP "\fB\-\-split\-on\-category\fR or \fB\-t\fR" 4
@@ -201,7 +123,7 @@ Don't omit the \fBcategory\fR field. Default unless \fB\-\-split\-on\-category\f
Split the entries into separate files according to the \fBcategory\fR field.
This option automatically implements \fB\-\-ignore\-category\fR and
\&\fB\-\-no\-overwrite\fR.
-.IP "\fB\-\-no\-split\-on\-category\fR" 4
+.IP \fB\-\-no\-split\-on\-category\fR 4
.IX Item "--no-split-on-category"
Don't split the entries into separate files according to the \fBcategory\fR
field (default).
@@ -210,15 +132,15 @@ field (default).
Ignore all the fields in the comma-separated \fIlist\fR. If the
list includes \fBsort\fR, \fBtype\fR or \fBcategory\fR it will automatically
implement the corresponding \fB\-\-ignore\-sort\fR, \fB\-\-ignore\-type\fR or
-\&\fB\-\-ignore\*(--category\fR option.
+\&\fB\-\-ignore\-\-category\fR option.
.Sp
This option isn't cumulative. An empty list will clear a previously
set list but won't undo the sort, type or category ignore options.
-.IP "\fB\-\-overwrite\fR" 4
+.IP \fB\-\-overwrite\fR 4
.IX Item "--overwrite"
Overwrite existing .bib files. Default unless \fB\-\-split\-on\-type\fR
used.
-.IP "\fB\-\-no\-overwrite\fR" 4
+.IP \fB\-\-no\-overwrite\fR 4
.IX Item "--no-overwrite"
Don't overwrite existing .bib files. Default if \fB\-\-split\-on\-type\fR
used.
@@ -228,20 +150,20 @@ Any entries that would normally be converted to \f(CW@entry\fR that don't
have a description or just have the description set to
\&\f(CW\*(C`\enopostdesc\*(C'\fR or \f(CW\*(C`\eglsxtrnopostpunc\*(C'\fR will be converted to \f(CW@index\fR
and the \fBdescription\fR field will be omitted.
-.IP "\fB\-\-no\-index\-conversion\fR" 4
+.IP \fB\-\-no\-index\-conversion\fR 4
.IX Item "--no-index-conversion"
Don't use \f(CW@index\fR instead of \f(CW@entry\fR if the description is empty or
just \f(CW\*(C`\enopostdesc\*(C'\fR or \f(CW\*(C`\eglsxtrnopostpunc\*(C'\fR (default).
-.IP "\fB\-\-absorb\-see\fR" 4
+.IP \fB\-\-absorb\-see\fR 4
.IX Item "--absorb-see"
Absorb \f(CW\*(C`\eglssee\*(C'\fR and \f(CW\*(C`\eglsxtrindexseealso\*(C'\fR into the data (default).
-.IP "\fB\-\-no\-absorb\-see\fR" 4
+.IP \fB\-\-no\-absorb\-see\fR 4
.IX Item "--no-absorb-see"
Don't absorb \f(CW\*(C`\eglssee\*(C'\fR and \f(CW\*(C`\eglsxtrindexseealso\*(C'\fR into the data.
.IP "\fB\-\-preamble\-only\fR or \fB\-p\fR" 4
.IX Item "--preamble-only or -p"
Only parse the document preamble.
-.IP "\fB\-\-no\-preamble\-only\fR" 4
+.IP \fB\-\-no\-preamble\-only\fR 4
.IX Item "--no-preamble-only"
Parse the entire document (default).
.IP "\fB\-\-space\-sub\fR \fIvalue\fR or \fB\-s\fR \fIvalue\fR" 4
@@ -252,15 +174,15 @@ Substitute spaces in labels with \fIvalue\fR.
Use the language resource files associated with the given language
tag \fIlang tag\fR. If there isn't an appropriate file, the \fBen\fR
(English) file will be used.
-.SH "REQUIRES"
+.SH REQUIRES
.IX Header "REQUIRES"
Java 8 and a TeX distribution.
-.SH "LICENSE"
+.SH LICENSE
.IX Header "LICENSE"
-License GPLv3+: \s-1GNU GPL\s0 version 3 or later
+License GPLv3+: GNU GPL version 3 or later
<http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
-There is \s-1NO WARRANTY,\s0 to the extent permitted by law.
+There is NO WARRANTY, to the extent permitted by law.
.SH "RECOMMENDED READING"
.IX Header "RECOMMENDED READING"
The bib2gls manual:
@@ -280,7 +202,7 @@ The glossaries manual:
.Vb 1
\& texdoc glossaries
.Ve
-.SH "AUTHOR"
+.SH AUTHOR
.IX Header "AUTHOR"
Nicola L. C. Talbot,
<http://www.dickimaw\-books.com/>
diff --git a/support/bib2gls/examples/sample-authors.pdf b/support/bib2gls/examples/sample-authors.pdf
index ad67a923a1..cf248eb070 100644
--- a/support/bib2gls/examples/sample-authors.pdf
+++ b/support/bib2gls/examples/sample-authors.pdf
Binary files differ
diff --git a/support/bib2gls/examples/sample-bacteria.pdf b/support/bib2gls/examples/sample-bacteria.pdf
index 672e15481f..50e8174154 100644
--- a/support/bib2gls/examples/sample-bacteria.pdf
+++ b/support/bib2gls/examples/sample-bacteria.pdf
Binary files differ
diff --git a/support/bib2gls/examples/sample-chemical.pdf b/support/bib2gls/examples/sample-chemical.pdf
index a1eed822aa..465f705f0b 100644
--- a/support/bib2gls/examples/sample-chemical.pdf
+++ b/support/bib2gls/examples/sample-chemical.pdf
Binary files differ
diff --git a/support/bib2gls/examples/sample-citations.pdf b/support/bib2gls/examples/sample-citations.pdf
index 29524de719..653b81f29d 100644
--- a/support/bib2gls/examples/sample-citations.pdf
+++ b/support/bib2gls/examples/sample-citations.pdf
Binary files differ
diff --git a/support/bib2gls/examples/sample-constants.pdf b/support/bib2gls/examples/sample-constants.pdf
index aec72fbf2d..a71a83dd82 100644
--- a/support/bib2gls/examples/sample-constants.pdf
+++ b/support/bib2gls/examples/sample-constants.pdf
Binary files differ
diff --git a/support/bib2gls/examples/sample-hierarchical.pdf b/support/bib2gls/examples/sample-hierarchical.pdf
index 18b906dd99..a91e86effd 100644
--- a/support/bib2gls/examples/sample-hierarchical.pdf
+++ b/support/bib2gls/examples/sample-hierarchical.pdf
Binary files differ
diff --git a/support/bib2gls/examples/sample-markuplanguages.pdf b/support/bib2gls/examples/sample-markuplanguages.pdf
index a4a69b6bc3..32b1c34d79 100644
--- a/support/bib2gls/examples/sample-markuplanguages.pdf
+++ b/support/bib2gls/examples/sample-markuplanguages.pdf
Binary files differ
diff --git a/support/bib2gls/examples/sample-maths.pdf b/support/bib2gls/examples/sample-maths.pdf
index e593514ade..87edbafef1 100644
--- a/support/bib2gls/examples/sample-maths.pdf
+++ b/support/bib2gls/examples/sample-maths.pdf
Binary files differ
diff --git a/support/bib2gls/examples/sample-media.pdf b/support/bib2gls/examples/sample-media.pdf
index ff9ac5b5c9..6c21c9ea15 100644
--- a/support/bib2gls/examples/sample-media.pdf
+++ b/support/bib2gls/examples/sample-media.pdf
Binary files differ
diff --git a/support/bib2gls/examples/sample-msymbols.pdf b/support/bib2gls/examples/sample-msymbols.pdf
index 2be01e8394..a57dac116c 100644
--- a/support/bib2gls/examples/sample-msymbols.pdf
+++ b/support/bib2gls/examples/sample-msymbols.pdf
Binary files differ
diff --git a/support/bib2gls/examples/sample-multi1.pdf b/support/bib2gls/examples/sample-multi1.pdf
index 3dc7b614a4..743481f107 100644
--- a/support/bib2gls/examples/sample-multi1.pdf
+++ b/support/bib2gls/examples/sample-multi1.pdf
Binary files differ
diff --git a/support/bib2gls/examples/sample-multi2.pdf b/support/bib2gls/examples/sample-multi2.pdf
index 1b5748c2ef..60e568beb2 100644
--- a/support/bib2gls/examples/sample-multi2.pdf
+++ b/support/bib2gls/examples/sample-multi2.pdf
Binary files differ
diff --git a/support/bib2gls/examples/sample-nested.pdf b/support/bib2gls/examples/sample-nested.pdf
index 4d2d3d61d5..2159fcdbde 100644
--- a/support/bib2gls/examples/sample-nested.pdf
+++ b/support/bib2gls/examples/sample-nested.pdf
Binary files differ
diff --git a/support/bib2gls/examples/sample-people.pdf b/support/bib2gls/examples/sample-people.pdf
index 5d57d027f1..57830f119c 100644
--- a/support/bib2gls/examples/sample-people.pdf
+++ b/support/bib2gls/examples/sample-people.pdf
Binary files differ
diff --git a/support/bib2gls/examples/sample-textsymbols.pdf b/support/bib2gls/examples/sample-textsymbols.pdf
index c2b1514f1f..946f766255 100644
--- a/support/bib2gls/examples/sample-textsymbols.pdf
+++ b/support/bib2gls/examples/sample-textsymbols.pdf
Binary files differ
diff --git a/support/bib2gls/examples/sample-textsymbols2.pdf b/support/bib2gls/examples/sample-textsymbols2.pdf
index 0056639401..d912c9b563 100644
--- a/support/bib2gls/examples/sample-textsymbols2.pdf
+++ b/support/bib2gls/examples/sample-textsymbols2.pdf
Binary files differ
diff --git a/support/bib2gls/examples/sample-units1.pdf b/support/bib2gls/examples/sample-units1.pdf
index c654224a13..b5e3c8b0bc 100644
--- a/support/bib2gls/examples/sample-units1.pdf
+++ b/support/bib2gls/examples/sample-units1.pdf
Binary files differ
diff --git a/support/bib2gls/examples/sample-units2.pdf b/support/bib2gls/examples/sample-units2.pdf
index 36b2042345..22650ed5fc 100644
--- a/support/bib2gls/examples/sample-units2.pdf
+++ b/support/bib2gls/examples/sample-units2.pdf
Binary files differ
diff --git a/support/bib2gls/examples/sample-units3.pdf b/support/bib2gls/examples/sample-units3.pdf
index 6a22552650..a17537f587 100644
--- a/support/bib2gls/examples/sample-units3.pdf
+++ b/support/bib2gls/examples/sample-units3.pdf
Binary files differ
diff --git a/support/bib2gls/examples/sample-usergroups.pdf b/support/bib2gls/examples/sample-usergroups.pdf
index 79462d0fb3..42ab0d5a46 100644
--- a/support/bib2gls/examples/sample-usergroups.pdf
+++ b/support/bib2gls/examples/sample-usergroups.pdf
Binary files differ
diff --git a/support/bib2gls/src/bib2gls-cite.bib b/support/bib2gls/src/bib2gls-cite.bib
index 6c57ad1614..17a36f7d25 100644
--- a/support/bib2gls/src/bib2gls-cite.bib
+++ b/support/bib2gls/src/bib2gls-cite.bib
@@ -42,13 +42,20 @@
year = 2018
}
-@misc{tex.sx,
+@misc{tex.sx.2016,
title={Is there a program for managing glossary tags?},
note={\url{https://tex.stackexchange.com/questions/342544}},
key={TeX on StackExchange},
year=2016
}
+@misc{tex.sx.2013,
+ title={What controls the encoding of the {LaTeX} log file – and how to change it?},
+ note={\url{https://tex.stackexchange.com/questions/131238}},
+ key={TeX on StackExchange},
+ year=2013
+}
+
@misc{texparser,
author = "Nicola Talbot",
title={\code{texparserlib}: {Java} code for parsing {(La)TeX} files},
diff --git a/support/bib2gls/src/bib2gls-terms.bib b/support/bib2gls/src/bib2gls-terms.bib
index 27841562da..89fcd9682d 100644
--- a/support/bib2gls/src/bib2gls-terms.bib
+++ b/support/bib2gls/src/bib2gls-terms.bib
@@ -470,9 +470,10 @@ set), and isn't picked up by iterative commands such as
name={encoding},
user1={idx.encoding},
description={A text format that maps a byte or sequence of bytes
- to a character. See \sectionref{sec:bibencoding} and \longarg{tex-encoding}
- for the \ext{bib} file encoding and \csopt{charset} for the \ext{glstex}
- file encoding. See also the blog article
+ to a character. See \sectionref{sec:bibencoding} and \csopt{charset}
+ for the \ext{bib} file encoding, \longarg{tex-encoding} for the
+ \ext{aux} and \ext{glstex} file encoding, and
+ \sectionref{sec:defencoding} for the default encoding. See also the blog article
\href{https://dickimaw-books.com/blog/binary-files-text-files-and-file-encodings/}{Binary
Files, Text Files and File Encodings} for further information about
file encodings in general.}
@@ -520,7 +521,7 @@ Files, Text Files and File Encodings} for further information about
name = {anchored (regular expression)},
text={anchored},
description={An anchored \gls{regular-expression} must match the entire
- string, not a sub-string. For example, \code{l\idx{zeroorone}op} matches \qt{lop}
+ string, not a sub-string. For example, \code{l\idx{regex.question}op} matches \qt{lop}
and \qt{op} but doesn't match \qt{clop} or \qt{cop}.}
}
diff --git a/support/bib2gls/src/bib2gls.bib b/support/bib2gls/src/bib2gls.bib
index e5cbac0004..944345e4fe 100644
--- a/support/bib2gls/src/bib2gls.bib
+++ b/support/bib2gls/src/bib2gls.bib
@@ -223,6 +223,7 @@
@index{regexp,
name={regexp (or regex)},
+ text={regexp},
alias={regex}
}
@@ -5330,13 +5331,13 @@ and \L/\l\ treated as L/l},
}
@package{polyglossia,
- name={\styfmt{polyglossia}},
+ name={\styfmt{poly\-glossia}},
category={package},
parent={packages}
}
@package{fontspec,
- name={\styfmt{fontspec}},
+ name={\styfmt{font\-spec}},
category={package},
parent={packages}
}
@@ -5819,13 +5820,8 @@ with forced line breaks in paragraph column formats)},
text={\code{+}}
}
-@symbol{zeroorone,
- name={\code{?} (regular expression, zero or one)},
- text={\code{?}}
-}
-
@symbol{regex.question,
- name={\code{?} (regular expression)},
+ name={\code{?} (regular expression, zero or one)},
text={\code{?}}
}
@@ -5892,7 +5888,7 @@ with forced line breaks in paragraph column formats)},
}
@command{nobreakspace,
- name={\csfmt{nobreakspace}},
+ name={\csfmt{no\-break\-space}},
description={produces a non-breakable space},
note={kernel command\texparserdefnote},
category={command}
@@ -10223,6 +10219,13 @@ primary formats, if enabled.},
parent={commandlineoptions}
}
+@switch{switch.debug-mode,
+ name={\longargfmt{debug\dhyphen mode}},
+ user1={\meta{setting}},
+ category={switch},
+ parent={commandlineoptions}
+}
+
@switch{switch.no-debug,
name={\longargfmt{no\dhyphen debug}},
symbol={\longargfmt{nodebug}},
@@ -10569,6 +10572,20 @@ primary formats, if enabled.},
parent={commandlineoptions}
}
+@switch{switch.log-encoding,
+ name={\longargfmt{log\dhyphen encoding}},
+ user1={\meta{name}},
+ category={switch},
+ parent={commandlineoptions}
+}
+
+@switch{switch.default-encoding,
+ name={\longargfmt{default\dhyphen encoding}},
+ user1={\meta{name}},
+ category={switch},
+ parent={commandlineoptions}
+}
+
@switch{switch.no-expand-fields,
name={\longargfmt{no\dhyphen expand\dhyphen fields}},
user1={},
@@ -17660,6 +17677,14 @@ has three or more items},
category={command}
}
+@command{unit,
+ name={\csfmt{unit}},
+ user1={\oargm{options}\margm{unit}},
+ description={displays the unit with intelligent formatting},
+ note={\styfmt{siunitx}\texparserdefnote},
+ category={command}
+}
+
@command{ce,
name={\csfmt{ce}},
user1={\margm{formula}},
@@ -18818,6 +18843,34 @@ sectioning commands to write to it},
category={command}
}
+@command{two@digits,
+ name={\csfmt{two\-@\-digits}},
+ user1={\margm{number}},
+ description={expands to \meta{number} zero-padded to ensure at
+ least two digits},
+ note={kernel command\texparserdefnote},
+ category={command}
+}
+
+@command{IfTeXParserLib,
+ name={\csfmt{If\-TeX\-Parser\-Lib}},
+ user1={\margm{interpreter}\margm{\TeX}},
+ description={defined by the \TeX\ parser library to expand to
+ \meta{interpreter} and by \sty{glossaries-extra-bib2gls} to expand
+ to \meta{\TeX}},
+ note={\styfmt{glossaries-extra-bib2gls}\texparserdefnote},
+ category={command}
+}
+
+@command{bibglspaddigits,
+ name={\csfmt{bib\-gls\-pad\-digits}},
+ user1={\margm{num digits}\margm{number}},
+ description={expands to \meta{number} zero-padded to ensure at
+ least \meta{num digits} digits},
+ note={\bibgls\ interpreter only},
+ category={command}
+}
+
@command{underline,
name={\csfmt{under\-line}},
user1={\margm{text}},
diff --git a/support/bib2gls/src/bib2gls.pod b/support/bib2gls/src/bib2gls.pod
index a470b73fc9..e9645adb65 100644
--- a/support/bib2gls/src/bib2gls.pod
+++ b/support/bib2gls/src/bib2gls.pod
@@ -21,196 +21,192 @@ or in a location that can be found by kpsewhich.
=over 4
-=item B<--help> or B<-h>
+=item B<--break-space>
-Display help message and exit.
+Interpret C<~> (tilde) character and C<\nobreakspace> as a normal space.
-=item B<--version> or B<-v>
+=item B<--cite-as-record>
-Display version information and exit.
+Treat C<\citation> as an ignored record.
-=item B<--debug> [I<level>]
+=item B<--collapse-same-location-range>
-Switch on the debug mode (optionally at the given I<level>, which
-should be a non-negative integer). If I<level> is B<0> then the
-debug mode is switched off.
+Collapse an explicit range that has a duplicate start and end
+location into a normal record (default).
-=item B<--no-debug> (or B<--nodebug>)
+=item B<--custom-packages> I<list>
-Switch off debug mode. (Equivalent to B<--debug> B<0>)
+Instruct the TeX parser library to attempt to parse the
+packages listed in I<list>. This is intended for simple custom
+packages that don't contain complex code.
-=item B<--verbose>
+=item B<--debug> [I<n>]
-Switch on verbose mode.
+Switch on the debug mode at the given setting I<n>, which
+should be a non-negative integer. If I<n> is B<0> then the
+debug mode is switched off. If omitted, I<n> is set to 1, which
+corresponds to B<--debug-mode> B<io>. Any positive number will
+enable all of B<bib2gls>'s debugging messages. The amount of
+TeX Parser Library debugging messages depends on bitwise operation of I<n>.
-=item B<--no-verbose> (or B<--noverbose>)
+=item B<--debug-mode> I<setting>
-Switch off verbose mode. (Some messages will still be written to
-STDOUT.)
+May be used instead of B<--debug> where the level number is
+difficult to remember. The I<setting> may be a comma-separated list
+of any of the keywords:
-=item B<--silent>
+=over 4
-Only display error messages. All other messages are just written to
-the transcript file.
+=item B<all>
-=item B<--locale> I<lang> (or B<-l> I<lang>)
+Highest level (likely to result in a large transcript file). Equivalent to
+switching on all settings.
-Use language resource file for I<lang> (which should be an IETF
-locale tag).
+=item B<catcode>
-=item B<--log-file> I<file> (or B<-t> <file>)
+TeX Parser category code changes.
-Set the transcript file.
+=item B<cs>
-=item B<--dir> I<directory> (or B<-d> <directory>)
+TeX Parser command definitions.
-Files are relative to I<directory>. (This doesn't change the current
-working directory.)
+=item B<decl>
-=item B<--tex-encoding> I<name>
+TeX Parser declarations.
-Set the character encoding for the output files. This overrides the
-setting given in I<auxfile>.
+=item B<expansion>
-=item B<--interpret>
+TeX Parser expansions (may result in a large transcript file).
-Use the TeX parser library to interpret known (La)TeX commands
-(default).
+=item B<expansion-list>
-=item B<--no-interpret>
+TeX Parser stack expansions (may result in a large transcript file).
-Don't try interpreting (La)TeX commands.
+=item B<expansion-once>
-=item B<--break-space>
+TeX Parser one-level expansions.
-Interpret C<~> (tilde) character and C<\nobreakspace> as a normal space.
+=item B<expansion-once-list>
-=item B<--no-break-space>
+TeX Parser one-level list expansions.
-Interpret C<~> (tilde) and C<\nobreakspace> as a non-breaking space (default).
+=item B<io>
-=item B<--obey-aux-catcode>
+TeX Parser I/O operations (open, close and fetch token).
-Obey known category code changing commands encountered in the aux
-file.
+=item B<popped>
-=item B<--no-obey-aux-catcode>
+TeX Parser stack popping.
-Ignore category code changing commands encountered in the aux file.
+=item B<process>
-=item B<--cite-as-record>
+TeX Parser macro process (may result in a large transcript file).
-Treat C<\citation> as an ignored record.
+=item B<process-generic-cs>
-=item B<--no-cite-as-record>
+TeX Parser generic command process.
-Don't check for instances of C<\citation> in the F<.aux> file (default).
+=item B<process-stack>
-=item B<--warn-non-bib-fields>
+TeX Parser stack process (may result in a large transcript file).
-Warn if internal non-bib fields are found in the F<.bib> file.
+=item B<process-stack-list>
-=item B<--no-warn-non-bib-fields>
+TeX Parser detailed stack process (may result in a large transcript file).
-Don't warn if internal non-bib fields are found in the F<.bib> file.
-The use of these internal fields can cause unexpected results, so
-only use this option if you have taken appropriate precautions.
+=item B<read>
-=item B<--warn-unknown-entry-types>
+TeX Parser codepoint read from file (likely to result in a large
+transcript file).
-Warn if any unknown entry types are found in the F<.bib> file.
+=item B<sty-data>
-=item B<--no-warn-unknown-entry-types>
+TeX Parser data (typically relates to internal objects that don't
+have an analogous TeX macro). This includes data gathered from the
+aux file.
-Don't warn if any unknown entry types are found in the F<.bib> file.
+=back
-=item B<--merge-wrglossary-records>
+For example: C<bib2gls --debug-mode io,catcode,sty-data mydoc>
-Merge an entry's B<wrglossary> records for the same page locations.
-(For use with the B<indexcounter> package option.)
+=item B<--default-encoding> I<name>
-=item B<--no-merge-wrglossary-records>
+Set the default character encoding for input and output files.
+If omitted, the JVM default encoding is assumed.
-Don't merge an entry's B<wrglossary> records.
+=item B<--dir> I<directory> (or B<-d> <directory>)
-=item B<--collapse-same-location-range>
+Files are relative to I<directory>. (This doesn't change the current
+working directory.)
-Collapse an explicit range that has a duplicate start and end
-location into a normal record (default).
+=item B<--expand-fields>
-=item B<--no-collapse-same-location-range>
+Don't write C<\glsnoexpandfields> to the F<.glstex> file.
-Don't collapse an explicit range that has a duplicate start and end
-location into a normal record.
+=item B<--force-cross-resource-refs> or B<-x>
-=item B<--retain-formats> I<list>
+Force cross-resource referencing mode on.
-Indicates which location formats should always be retained even if
-it causes a partial duplicate. Only exact duplicates will be merged.
+=item B<--group> or B<-g>
-=item B<--no-retain-formats>
+Add B<group> field to entries.
-Normal location merging rules apply (default).
+=item B<--help> or B<-h>
-=item B<--merge-nameref-on> I<rule>
+Display help message and exit.
-Rule for merging locations created with the B<record=nameref> package option
-(requires F<glossaries-extra.sty> version 1.37+). The I<rule> may be
-one of: B<hcounter>, B<href>, B<title> or B<location>.
+=item B<--ignore-packages> I<list> (or B<-k> I<list>)
-=item B<--force-cross-resource-refs> or B<-x>
+Don't parse the log file for the packages listed in I<list>. Note
+that B<--packages> overrides this option, so if the same package is
+listed in both B<--ignore-packages> and B<--packages> then the
+interpreter will check if it's supported. This option has a
+cumulative action. Only known packages may be included in
+I<list>.
-Force cross-resource referencing mode on.
+=item B<--interpret>
-=item B<--no-force-cross-resource-refs>
+Use the TeX Parser Library to interpret known (La)TeX commands
+(default).
-Don't force cross-resource referencing mode on (default).
+=item B<--list-known-packages>
-=item B<--support-unicode-script>
+Lists all the packages that have are known to the TeX parser
+library and then exits (with exit code 0). Any of the listed
+packages may be used in B<--packages> or B<--ignore-packages>.
-Text superscript (C<\textsuperscript>) or subscripts (C<\textsubscript>)
-will use Unicode superscript/subscript characters if available.
-For example, C<\textsuperscript{2}> will be converted to U+00B2
-(superscript two).
+=item B<--locale> I<lang> (or B<-l> I<lang>)
-=item B<--no-support-unicode-script>
+Use language resource file for I<lang> (which should be an IETF
+locale tag).
-Text superscript (C<\textsuperscript>) or subscripts (C<\textsubscript>)
-won't be converted to Unicode superscript/subscript characters.
-For example, C<\textsuperscript{2}> will be converted to C<E<lt>supE<gt>2E<lt>/supE<gt>>
-and the markup will be stripped leaving just the character 2.
+=item B<--log-encoding> I<name>
-=item B<--packages> I<list> (or B<-p> I<list>)
+Set the character encoding for the F<log> files (which may not be
+the same as the encoding for the document LaTeX files).
-Instruct the TeX parser library to pretend the packages listed
-in I<list> have been used by the document. Note that there's only a
-limited number of packages supported by the TeX parser library.
-This option has a cumulative action so B<--packages wasysym,pifont>
-is the same as B<--packages wasysym --packages pifont>.
+=item B<--log-file> I<file> (or B<-t> <file>)
-You can find out the list of supported packages with
-B<--list-known-packages>.
+Set the transcript file.
-=item B<--custom-packages> I<list>
+=item B<--merge-nameref-on> I<rule>
-Instruct the TeX parser library to attempt to parse the
-packages listed in I<list>. This is intended for simple custom
-packages that don't contain complex code.
+Rule for merging locations created with the B<record=nameref> package option
+(requires F<glossaries-extra.sty> version 1.37+). The I<rule> may be
+one of: B<hcounter>, B<href>, B<title> or B<location>.
-=item B<--ignore-packages> I<list> (or B<-k> I<list>)
+=item B<--merge-wrglossary-records>
-Don't parse the log file for the packages listed in I<list>. Note
-that B<--packages> overrides this option, so if the same package is
-listed in both B<--ignore-packages> and B<--packages> then the
-interpreter will check if it's supported. This option has a
-cumulative action. Only known packages may be included in
-I<list>.
+Merge an entry's B<wrglossary> records for the same page locations.
+(For use with the B<indexcounter> package option.)
-=item B<--list-known-packages>
+=item B<--mfirstuc-math-protection>
-Lists all the packages that have are known to the TeX parser
-library and then exits (with exit code 0). Any of the listed
-packages may be used in B<--packages> or B<--ignore-packages>.
+Switch on the auto-insertion of an empty group for math-shift (C<$>).
+
+If F<mfirstuc> v2.08+, F<glossaries> v4.50+ and F<glossaries-extra> v1.49+
+are detected, the default will be B<--no-mfirstuc-math-protection>
+as there should no longer be any need for this protection.
=item B<--mfirstuc-protection> I<fields>|B<all> (or B<-u> I<fields>|B<all>)
@@ -225,54 +221,149 @@ If F<mfirstuc> v2.08+, F<glossaries> v4.50+ and F<glossaries-extra> v1.49+
are detected, the default will be B<--no-mfirstuc-protection>
as there should no longer be any need for this protection.
-=item B<--no-mfirstuc-protection>
+=item B<--nested-link-check> I<list>|B<none>
-Switch off the auto-insertion of an empty group for all fields.
+Check each field listed in I<list> for potentially problematic
+nested link text. (Default list: name, text, plural, first,
+firstplural, short, shortplural, long, longplural, symbol).
-=item B<--mfirstuc-math-protection>
+If B<none>, disable check.
-Switch on the auto-insertion of an empty group for math-shift (C<$>).
+=item B<--no-break-space>
-If F<mfirstuc> v2.08+, F<glossaries> v4.50+ and F<glossaries-extra> v1.49+
-are detected, the default will be B<--no-mfirstuc-math-protection>
-as there should no longer be any need for this protection.
+Interpret C<~> (tilde) and C<\nobreakspace> as a non-breaking space (default).
+
+=item B<--no-cite-as-record>
+
+Don't check for instances of C<\citation> in the F<.aux> file (default).
+
+=item B<--no-collapse-same-location-range>
+
+Don't collapse an explicit range that has a duplicate start and end
+location into a normal record.
+
+=item B<--no-debug> (or B<--nodebug>)
+
+Switch off debug mode. (Equivalent to B<--debug> B<0>)
+
+=item B<--no-expand-fields>
+
+Write C<\glsnoexpandfields> to the F<.glstex> file (default).
+
+=item B<--no-force-cross-resource-refs>
+
+Don't force cross-resource referencing mode on (default).
+
+=item B<--no-group>
+
+Don't add B<group> field to entries (default).
+
+=item B<--no-interpret>
+
+Don't try interpreting (La)TeX commands. The TeX Parser Library will
+still be used to parse the F<aux> and F<bib> files.
+
+=item B<--no-merge-wrglossary-records>
+
+Don't merge an entry's B<wrglossary> records.
=item B<--no-mfirstuc-math-protection>
Switch off the auto-insertion of an empty group for math-shift (C<$>).
-=item B<--nested-link-check> I<list>|B<none>
-
-Check each field listed in I<list> for potentially problematic
-nested link text. (Default list: name, text, plural, first,
-firstplural, short, shortplural, long, longplural, symbol).
+=item B<--no-mfirstuc-protection>
-If B<none>, disable check.
+Switch off the auto-insertion of an empty group for all fields.
=item B<--no-nested-link-check>
Don't check for potentially problematic nested link text.
(Equivalent to B<--nested-link-check> B<none>)
-=item B<--shortcuts> I<option>
+=item B<--no-obey-aux-catcode>
-Check for the shortcut commands when searching for dependencies.
-Permitted values of I<option>: B<acronyms> (or B<acro>), B<ac>,
-B<abbreviations> (or B<abbr>), B<all> (or B<true>), B<none> (or
-B<false>). This overrides the setting given in I<auxfile>.
+Ignore category code changing commands encountered in the aux file.
-=item B<--map-format> I<key>B<:>I<value>[B<,>I<key>B<:>I<value>]* (or
-B<-m> I<key>B<:>I<value>[B<,>I<key>B<:>I<value>]*)
+=item B<--no-provide-glossaries>
-Set location format mappings.
+Don't write C<\provideignoredglossary*> to the F<.glstex> file to
+provide unknown glossaries except in documented situations
+(B<master>, B<secondary> and B<trigger-type> resource options).
+This setting is the default.
-=item B<--group> or B<-g>
+=item B<--no-record-count>
-Add B<group> field to entries.
+Don't add record count field to entries (default).
+This option automatically implements B<--no-record-count-unit>.
-=item B<--no-group>
+=item B<--no-record-count-unit>
-Don't add B<group> field to entries (default).
+Don't add unit record count field to entries (default).
+
+=item B<--no-replace-quotes>
+
+Don't replace quote characters (default).
+
+=item B<--no-retain-formats>
+
+Normal location merging rules apply (default).
+
+=item B<--no-support-unicode-script>
+
+Text superscript (C<\textsuperscript>) or subscripts (C<\textsubscript>)
+won't be converted to Unicode superscript/subscript characters.
+For example, C<\textsuperscript{2}> will be converted to C<E<lt>supE<gt>2E<lt>/supE<gt>>
+and the markup will be stripped leaving just the character 2.
+
+=item B<--no-trim-fields>
+
+Don't trim leading and trailing spaces from fields (default).
+This option cancels B<--trim-only-fields> and B<--trim-fields>.
+
+=item B<--no-verbose> (or B<--noverbose>)
+
+Switch off verbose mode. (Some messages will still be written to
+STDOUT.)
+
+=item B<--no-warn-non-bib-fields>
+
+Don't warn if internal non-bib fields are found in the F<.bib> file.
+The use of these internal fields can cause unexpected results, so
+only use this option if you have taken appropriate precautions.
+
+=item B<--no-warn-unknown-entry-types>
+
+Don't warn if any unknown entry types are found in the F<.bib> file.
+
+=item B<--obey-aux-catcode>
+
+Obey known category code changing commands encountered in the aux
+file.
+
+=item B<--packages> I<list> (or B<-p> I<list>)
+
+Instruct the TeX parser library to pretend the packages listed
+in I<list> have been used by the document. Note that there's only a
+limited number of packages supported by the TeX parser library.
+This option has a cumulative action so B<--packages wasysym,pifont>
+is the same as B<--packages wasysym --packages pifont>.
+
+You can find out the list of supported packages with
+B<--list-known-packages>.
+
+=item B<--provide-glossaries>
+
+Write C<\provideignoredglossary*> to the F<.glstex> file to provide
+unknown glossaries.
+
+=item B<--quiet> (or B<-q>)
+
+Only display error messages. All other messages are just written to
+the transcript file.
+
+=item B<--record-count> or B<-c>
+
+Add record count fields to entries.
=item B<--record-count-rule> I<rule> or B<-r> I<rule>
@@ -292,35 +383,50 @@ optional. If present it may be one of: C<and> (format AND counter
must match), C<or> (format OR counter must match). If I<op> is
omitted, AND is assumed.
-=item B<--record-count> or B<-c>
+=item B<--record-count-unit> or B<-n>
-Add record count fields to entries.
+Add unit record count fields to entries.
+This option automatically implements B<--record-count>.
-=item B<--no-record-count>
+=item B<--replace-quotes>
-Don't add record count field to entries (default).
-This option automatically implements B<--no-record-count-unit>.
+Replace single and double quote characters (C<'> and C<">) with
+C<\bibglsaposchar> and C<\bibglsdoublequotechar> in field values
+and group information written to the F<.glstex> file.
-=item B<--record-count-unit> or B<-n>
+=item B<--retain-formats> I<list>
-Add unit record count fields to entries.
-This option automatically implements B<--record-count>.
+Indicates which location formats should always be retained even if
+it causes a partial duplicate. Only exact duplicates will be merged.
-=item B<--no-record-count-unit>
+=item B<--shortcuts> I<option>
-Don't add unit record count field to entries (default).
+Check for the shortcut commands when searching for dependencies.
+Permitted values of I<option>: B<acronyms> (or B<acro>), B<ac>,
+B<abbreviations> (or B<abbr>), B<all> (or B<true>), B<none> (or
+B<false>). This overrides the setting given in I<auxfile>.
-=item B<--trim-fields>
+=item B<--map-format> I<key>B<:>I<value>[B<,>I<key>B<:>I<value>]* (or
+B<-m> I<key>B<:>I<value>[B<,>I<key>B<:>I<value>]*)
-Trim leading and trailing spaces from all fields.
-This option cancels B<--trim-only-fields> and B<--no-trim-fields>.
+Set location format mappings.
-=item B<--trim-only-fields> I<list>
+=item B<--silent>
-Trim leading and trailing spaces from only the listed fields.
-This option is cumulative but is cancelled by B<--trim-fields>
-and B<--no-trim-fields>. This option may not be used with
-B<--trim-except-fields>.
+Only display error messages. All other messages are just written to
+the transcript file. (Synonym of B<--quiet>.)
+
+=item B<--support-unicode-script>
+
+Text superscript (C<\textsuperscript>) or subscripts (C<\textsubscript>)
+will use Unicode superscript/subscript characters if available.
+For example, C<\textsuperscript{2}> will be converted to U+00B2
+(superscript two).
+
+=item B<--tex-encoding> I<name>
+
+Set the character encoding for the F<glstex> files. This overrides the
+setting given in I<auxfile>.
=item B<--trim-except-fields> I<list>
@@ -329,40 +435,33 @@ This option is cumulative but is cancelled by B<--trim-fields>
and B<--no-trim-fields>. This option may not be used with
B<--trim-only-fields>.
-=item B<--no-trim-fields>
-
-Don't trim leading and trailing spaces from fields (default).
-This option cancels B<--trim-only-fields> and B<--trim-fields>.
-
-=item B<--expand-fields>
+=item B<--trim-fields>
-Don't write C<\glsnoexpandfields> to the F<.glstex> file.
+Trim leading and trailing spaces from all fields.
+This option cancels B<--trim-only-fields> and B<--no-trim-fields>.
-=item B<--no-expand-fields>
+=item B<--trim-only-fields> I<list>
-Write C<\glsnoexpandfields> to the F<.glstex> file (default).
+Trim leading and trailing spaces from only the listed fields.
+This option is cumulative but is cancelled by B<--trim-fields>
+and B<--no-trim-fields>. This option may not be used with
+B<--trim-except-fields>.
-=item B<--provide-glossaries>
+=item B<--verbose>
-Write C<\provideignoredglossary*> to the F<.glstex> file to provide
-unknown glossaries.
+Switch on verbose mode.
-=item B<--no-provide-glossaries>
+=item B<--version> or B<-v>
-Don't write C<\provideignoredglossary*> to the F<.glstex> file to
-provide unknown glossaries except in documented situations
-(B<master>, B<secondary> and B<trigger-type> resource options).
-This setting is the default.
+Display version information and exit.
-=item B<--replace-quotes>
+=item B<--warn-non-bib-fields>
-Replace single and double quote characters (C<'> and C<">) with
-C<\bibglsaposchar> and C<\bibglsdoublequotechar> in field values
-and group information written to the F<.glstex> file.
+Warn if internal non-bib fields are found in the F<.bib> file.
-=item B<--no-replace-quotes>
+=item B<--warn-unknown-entry-types>
-Don't replace quote characters (default).
+Warn if any unknown entry types are found in the F<.bib> file.
=back
diff --git a/support/bib2gls/src/bib2gls.tex b/support/bib2gls/src/bib2gls.tex
index 652eaf6f92..2b9ece8e7c 100644
--- a/support/bib2gls/src/bib2gls.tex
+++ b/support/bib2gls/src/bib2gls.tex
@@ -290,6 +290,8 @@ documents}}
\newcommand*{\pdfLaTeX}{\hologo{pdfLaTeX}}
\newcommand{\langxml}{\hyperref[sec:lang.xml]{language resource file}}
+\newcommand{\texparserlib}{\hyperref[sec:texparserlib]{\TeX\ Parser
+Library}}
\newcommand{\hex}[1]{0x#1}
\newcommand{\hexsb}[1]{\textsubscript{\scriptsize\rmfamily#1}}
@@ -1380,14 +1382,13 @@ first \LaTeX\ run due to the unknown references being replaced with
when the reference is known.
Note that \bibgls\ is a Java application, and requires at least
-Java~8.\footnote{The \code{List.sort} method used to sort the
-entries was only introduced to Java~8.} Additionally,
-\sty{glossaries-extra} must be at least version 1.12. (Although
-the latest version is recommended.) This application was
-developed in response to the question
+Java~8. Additionally, \sty{glossaries-extra} must be at least
+version 1.12. These are minimum requirements, but the latest
+versions are recommended. This
+application was developed in response to the question
\qt{\href{http://tex.stackexchange.com/q/342544}{Is there a program
for managing glossary tags?}} on \TeX\ on
-StackExchange~\cite{tex.sx}. The \ext{bib} file can be managed in an
+StackExchange~\cite{tex.sx.2016}. The \ext{bib} file can be managed in an
application such as JabRef.
If you already have a \ext{tex} file containing
@@ -1430,7 +1431,8 @@ selection, cross-references and locations}, issue 41:3, 2020.
\renewcommand{\glslistitem}[1]{%
\item[\glsentryitem{#1}%
\glstarget{#1}{\glossentryname{#1}}]%
- \glsxtrifhasfield{useri}{#1}{\glsadd{\glscurrentfieldvalue}}{}%
+ \glsxtrifhasfield{useri}{#1}%
+ {\glsadd[format=glsnumberformat]{\glscurrentfieldvalue}}{}%
}
}
@@ -1479,7 +1481,7 @@ manual~\cite{glossaries-extra} for information
on the differences between the basic package and the extended
package, as some of the default settings are different.
-Since the information used by \bibgls\ is
+Since information required by \bibgls\ is
written to the \iext{aux} file, it's not possible to run \bibgls\
through \TeX's shell escape while the \ext{aux} file is open for
write access. (The \ext{aux} file is closed \emph{after} the end
@@ -1495,6 +1497,106 @@ automatically with the \styopt{automake} option if the \ext{aux}
file exists. (Remember that this will require the shell escape to be
enabled.)
+\section{Default Encoding}
+\label{sec:defencoding}
+
+Both \XeLaTeX\ and \LuaLaTeX\ default to UTF-8 \igls{encoding}. With modern \TeX\
+distributions, \pdfLaTeX\ also defaults to UTF-8 but may be changed
+with the \sty{inputenc} package.
+
+The default encoding for Java applications, such as \bibgls, is the
+default encoding of the \idx{JVM}. This typically matches the
+operating system's default, but can be changed (see below). If you don't want
+to alter the \idx{JVM}['s] default, you can set the \bibgls\ default
+with \longarg{default-encoding}.
+
+In general, UTF-8 works best with \bibgls, but you need to be careful if your
+\idx{JVM} isn't set up to use UTF-8 by default as you can end
+up with encoding mismatches. This can happen with some versions of
+Windows, so it's a good idea to double-check the \bibgls\ transcript
+file to make sure all the encoding information is correct.
+
+The default encoding is written at the start of the \ext{glg} file.
+For example:
+\begin{verbatim}
+Default encoding: UTF-8
+\end{verbatim}
+When a file is opened, the associated encoding is written to the \ext{glg}
+file. For example, when the \ext{aux} file is opened:
+\begin{verbatim}
+Reading myDoc.aux
+Encoding: UTF-8
+\end{verbatim}
+If the document encoding is detected in the \ext{aux} file, it will
+be written to the transcript. For example:
+\begin{verbatim}
+TeX character encoding: UTF-8
+\end{verbatim}
+When a \ext{bib} file is read, the \csopt{charset} setting,
+the detected encoding (from the encoding comment line,
+see \sectionref{sec:bibencoding}), if found, and the encoding
+actually used are written. For example, where \csopt{charset} hasn't
+been set but an encoding comment line has been found:
+\begin{verbatim}
+Parsing bib files for resource myDoc.glstex.
+Default encoding: not set
+Detected encoding: UTF-8
+Reading symbols.bib
+Encoding: UTF-8
+\end{verbatim}
+
+The file encodings used by \bibgls\ are as follows:
+\begin{itemize}
+\item Writing the \iext{glg} transcript file: default encoding.
+
+\item Reading the document \iext{log} file: \longarg{log-encoding}
+setting, if supplied, otherwise the default encoding.
+
+Note that the \ext{log} file may not have the same encoding as the
+\ext{tex} file~\cite{tex.sx.2013}. In the case of the T1 font
+encoding, the encoding will be close enough to ISO-8859-1 for that
+to be used with \bibgls. Any problematic character will trigger a
+warning and \bibgls\ will quit reading the file. This will most
+likely be in an overfull warning, by which point \bibgls\ should
+have gathered all the information it requires.
+
+\item Reading the \iext{aux} file: the \longarg{tex-encoding}
+setting, if supplied, or UTF-8 if \sty{fontspec} is detected in the
+\ext{log} file, otherwise the default encoding.
+
+\item Reading the \iext{bib} files: the \csopt{charset} resource
+option, if supplied, or the encoding specified by the encoding
+comment line in the \ext{bib} file (see
+\sectionref{sec:bibencoding}), otherwise the default encoding.
+
+\item Writing the \iext{glstex} files: the \longarg{tex-encoding}
+setting, if supplied, or UTF-8 if \sty{fontspec} detected in the
+\ext{log} file, or the document encoding picked up from the
+\ext{aux} file, otherwise the default encoding.
+\end{itemize}
+For example:
+\begin{verbatim}
+bib2gls --log-encoding ISO-8859-1 --default-encoding UTF-8 myDoc
+\end{verbatim}
+
+To change the default \igls{encoding} for the \idx{JVM} set the
+\code{JAVA\_TOOL\_OPTIONS} environment variable to include
+\code{-Dfile.encoding=\meta{encoding}} where \meta{encoding} is the
+desired default encoding (such as UTF-8). Note that this will
+affect all your installed Java applications, not just \bibgls, (for
+example, JabRef).
+
+If you have a problem with non-ASCII characters not displaying
+correctly in your document:
+\begin{itemize}
+\item Check that the file \gls{encoding} of your document \ext{tex}
+and \ext{bib} files have been correctly set by your text editor.
+\item Check that your document supports that \gls{encoding} (for example,
+through the \isty{inputenc} package).
+\item Check \bibgls's transcript file for the encoding information
+to ensure that the settings are correct.
+\end{itemize}
+
\section{Example Use}
The glossary entries are stored in a \ext{bib} file. For
example, the file \filefmt{entries.bib} might contain:
@@ -2307,11 +2409,12 @@ so you can change the above to the following:
}
\end{codeenv}
-This will locally define the quarks listed below. Since \cs{glsxtrresourceinit}
-is scoped so that it only has an effect within the protected write,
-this shouldn't interfere with the corresponding commands that are required in
-the document. Note that these quarks should only be used in their
-designated contexts.
+This will locally define the quarks listed below. Since
+\cs{glsxtrresourceinit} is used in a scoped context, the
+definitions only have an effect within the protected write, and so this
+shouldn't interfere with the corresponding commands that are
+required in the document. Note that these quarks should only be used
+in their designated contexts.
\begin{description}
@@ -2357,7 +2460,7 @@ syntax recognises \gls{LEN}, \gls{CAT}, \gls{IN}, \gls{NIN}, \gls{PREFIXOF},
\end{description}
Finally, this isn't actually a quark, but \inlinedef{cs} is defined
-to expand to the literal string \csfmt{csname} so you can use it for any
+to expand to the literal string \csfmt{\meta{csname}} so you can use it for any
other escape sequences that aren't covered above. For example,
\code{\gls{cs}\marg{n}} for a newline \ics{n}.
@@ -2729,15 +2832,15 @@ well (unless the document has a different definition that doesn't
have this unbounded recursion).
The \file{texparserlib.jar} library is not a \TeX\ engine and there
-are plenty of situations where it doesn't work. In particular, in
-this case it's being used in a fragmented context without knowing
+are plenty of situations where it doesn't work. In particular, with
+\bibgls, it's being used in a fragmented context without knowing
most of the packages used by the document or any custom commands or
environments provided within the document.
\bibgls\ can detect from the log file a small
number of packages that the parser recognises. Note that in
some cases there's only very limited support. For example,
-\isty{siunitx}'s \ics{si} command is recognised but other
+\isty{siunitx}'s \ics{si} and \ics{unit} commands are recognised but other
commands from that package aren't. See
\longargpageref{list-known-packages} for further details.
@@ -2805,8 +2908,39 @@ rule that recognises these Unicode characters (for example,
\csopt[custom]{sort},
\csopt[\cs{glshex}2694 \string< \cs{glshex}2693 \string< \cs{glshex}26BD]{sort-rule}).
+Another approach is to use \ics{IfTeXParserLib}, which is defined by
+the \texparserlib\ to expand to its first argument. The
+\sty{glossaries-extra-bib2gls} package provides a definition that
+expands to its second argument, so that command may be used to
+provide alternative code. For example:
+\begin{codeenv}
+\atentry{preamble}\marg{\qtdelim{\cs{providecommand}\marg{\cmd{Ord}}[1]\marg{\comment{}
+ \cs{IfTeXParserLib}
+ \marg{\ics{bibglspaddigits}\marg{2}\marg{\idx{param}1}}\comment{interpreter}
+ \marg{\cs{MakeUppercase}\marg{\cmd{romannumeral} \idx{param}1}}\comment{document}
+}}}
+\atentry{index}\marg{John-IV,
+ \field{name}=\marg{John\idx{nbspchar}\cmd{Ord}\marg{4}}
+}
+\atentry{index}\marg{John-VI,
+ \field{name}=\marg{John\idx{nbspchar}\cmd{Ord}\marg{6}}
+}
+\atentry{index}\marg{John-IX,
+ \field{name}=\marg{John\idx{nbspchar}\cmd{Ord}\marg{9}}
+}
+\atentry{index}\marg{John-XII,
+ \field{name}=\marg{John\idx{nbspchar}\cmd{Ord}\marg{12}}
+}
+\end{codeenv}
+The sort values for these entries will be: \qt{John 04}, \qt{John
+06}, \qt{John 09} and \qt{John 12}, but in the document text they
+will be typeset as \qt{John~IV}, \qt{John~VI}, \qt{John~IX} and
+\qt{John~XII}. Note that \ics{bibglspaddigits} is only recognised by
+the \bibgls\ interpreter. Alternatively, you can use the
+\csopt{sort-number-pad} option to pad the numbers.
+
\TeX\ syntax can be quite complicated and, in some cases, far too
-complicated for simple \idxpl!{regex}. The \TeX\ parser library performs
+complicated for simple \idxpl!{regex}. The \texparserlib\ performs
better than a simple pattern match, and that's the purpose of
\file{texparserlib.jar} and why it's used by \bibgls\ (and by
\idx!{convertgls2bib}). When the \longarg{debug} mode is on, any
@@ -3120,17 +3254,6 @@ Display the help message and quit.
Display the version information and quit. As from v2.5, this now
includes the version number of the \file{texparserlib.jar} library.
-\argsection{debug}
-
-Switch on debugging mode. If \meta{n} is present, it must be a
-non-negative integer indicating the debugging level. If omitted 1 is
-assumed. This option also switches on the verbose mode. A value of 0
-is equivalent to \longargfmt{no-debug}.
-
-\argsection{no-debug}
-
-Switches off the debugging mode.
-
\argsection{verbose}
Switches on the verbose mode. This writes extra information to the
@@ -3388,6 +3511,100 @@ Don't automatically set the \field{group} field with
group style, such as \glostyle{indexgroup}, is used (unless the
\field{group} field is set to a custom value).
+\argsection{debug}
+
+Sometimes when things go wrong it can be hard to diagnose the problem
+from the normal messages. If you report an issue, you may be asked
+to switch on debugging mode to help identify a non-reproducible
+error and provide the transcript file.
+
+The \longargfmt{debug} option can be used to switch on debugging mode.
+If \meta{n} is present, it must be a non-negative integer indicating
+the debugging mode. If omitted, 1 is assumed. This option also
+switches on the verbose mode. A value of 0 is equivalent to
+\longargfmt{no-debug}.
+
+The value of \meta{n} determines how much extra information is
+provided. If \meta{n} is greater than 0 then all \bibgls\ debugging
+information is written. The amount of debugging information provided
+by the \texparserlib\ is determined by a bitwise operation on
+\meta{n}. For example, if \meta{n} is 1 then I/O information is
+included. If \meta{n} is 2 then information is included when an
+object is popped off a stack. If \meta{n} is 3 then both I/O and
+popped information is provided.
+
+Note that messages such as \qt{Can't find language resource} or
+about a failed \idx{kpsewhich} call are informational and don't
+necessarily mean an error has occurred. Error messages will always
+be written to the transcript regardless of the debug or verbose
+setting. An error message will start with \qt{Error:~} and a warning
+message will start with \qt{Warning:~}. Unknown commands will throw
+an exception with a stack trace in debug mode.
+
+\argsection{debug-mode}
+
+This option is an alternative to \longargfmt{debug} where the value
+of \meta{n} needs to be calculated. The \meta{setting} is
+required and should be a comma-separated list of any of the
+following keywords.
+
+\begin{itemize}
+\item\optfmt{all}: enable all debugging information
+(likely to result in a very large transcript file).
+
+\item\optfmt{catcode}: \texparserlib\ category code changes.
+
+\item\optfmt{cs}: \texparserlib\ command definitions.
+
+\item\optfmt{decl}: information about declarations.
+
+\item\optfmt{expansion}: \texparserlib\ expansions
+(may result in a large transcript file).
+
+\item\optfmt{expansion-list}: \texparserlib\ stack expansions
+(may result in a large transcript file).
+
+\item\optfmt{expansion-once}: \texparserlib\ one-level expansions
+(may result in a large transcript file).
+
+\item\optfmt{expansion-once-list}: \texparserlib\ one-level list expansions
+(may result in a large transcript file).
+
+\item\optfmt{io}: I/O information, such as opening or closing files
+and fetching tokens.
+
+\item\optfmt{popped}: information about objects popped from stacks.
+
+\item\optfmt{process}: \texparserlib\ macro process
+(may result in a large transcript file).
+
+\item\optfmt{process-generic-cs}: \texparserlib\ generic command process.
+
+\item\optfmt{process-stack}: \texparserlib\ stack process
+(may result in a large transcript file).
+
+\item\optfmt{process-stack-list}: \texparserlib\ stack process with
+list detail (may result in a large transcript file).
+
+\item\optfmt{read}: \texparserlib\ file codepoint read
+(likely to result in a very large transcript file).
+
+\item\optfmt{sty-data}: data associated with packages used to store
+information that may not exactly correspond to the way the
+information is stored in \LaTeX. In the case of \bibgls, this will
+typically just be data read from recognised \iext{aux} commands.
+
+\end{itemize}
+
+For example:
+\begin{alltt}
+bib2gls \longargfmt{debug-mode} catcode,sty-data \meta{filename}
+\end{alltt}
+
+\argsection{no-debug}
+
+Switches off the debugging mode. Equivalent to \longarg{debug}~0.
+
\section{File Options}
\argsection{dir}
@@ -3445,48 +3662,51 @@ bib2gls -d tmp mydoc
\argsection{log-file}
-Sets the name of the transcript file. By default, the name is the
+Sets the name of the \bibgls\ transcript file. By default, the name is the
same as the \iext{aux} file but with a \iext{glg} extension. Note that
if you use \bibgls\ in combination with \idx{xindy} or
\idx{makeindex}, you will need to change the transcript file name to
prevent conflict.
-\argsection{tex-encoding}
+The transcript file encoding is governed by
+\longarg{log-encoding}.
-\bibgls\ tries to determine the character \igls{encoding} to use for the
-output files. If the document has loaded the \isty{inputenc} package then
-\bibgls\ can obtain the value of the \gls{encoding} from the
-\iext{aux} file. This is then converted to a name
-recognised by Java. For example, \code{utf8} will be mapped to
-\code{UTF-8}. If the \isty{fontspec} package has been loaded,
-\styfmt{glossaries-extra} will assume the \gls{encoding} is \code{utf8} and
-write that value to the \ext{aux} file.
-
-If neither package has been loaded, \bibgls\ will assume the \idx{JVM}['s]
-default \gls{encoding} (identified by the \code{file.encoding} property). If this is
-incorrect or if \bibgls\ can't work out the appropriate mapping then you can
-specify the correct \gls{encoding} using \longargfmt{tex-encoding} \meta{name} where
-\meta{name} is the \gls{encoding} name (such as \code{UTF-8}).
+\argsection{tex-encoding}
-If you have a problem with non-ASCII characters not displaying
-correctly in your document:
-\begin{itemize}
-\item Check that the file \gls{encoding} of your document \ext{tex} file (or files)
-has been correctly set by your text editor.
-\item Check that your document supports that \gls{encoding} (for example,
-through the \isty{inputenc} package).
-\item Check \bibgls's transcript file (\ext{glg}) for the line that
-starts
-\begin{verbatim}
-TeX character encoding:
-\end{verbatim}
-This should be followed by the \gls{encoding} used by \bibgls\ when
-creating the \ext{glstex} files. If this is incorrect use
-\longargfmt{tex-encoding}.
-\item Check that the \gls{encoding} of the \ext{bib} files (set by your
-text editor or bibliographic management system) matches the \gls{encoding}
-line in the \ext{bib} file or the \csopt{charset} resource option.
-\end{itemize}
+In general, it's best to have all your files (\ext{aux}, \ext{bib}
+and \iext{glstex}) in the same \igls{encoding} that matches your
+default encoding (see \sectionref{sec:defencoding}). However, if
+your \iext{aux} and \iext{glstex} files have a different encoding to
+your default, you can use \longarg{tex-encoding} to specify the
+\TeX\ encoding. If omitted the default encoding is used. See
+\sectionref{sec:defencoding}.
+
+Note that \bibgls\ will try to detect the document encoding from the
+\ext{aux} file to ensure that the \iext{glstex} files match it.
+However, at that point, it's too late to establish the encoding of
+the \ext{aux} file, which has already been opened. So if the
+\ext{aux} file encoding doesn't match the default encoding, you can
+specify the correct encoding to use with \longarg{tex-encoding}.
+
+If you are using \sty{fontspec}, \bibgls\ can detect this
+from the \ext{log} file instead and will assume UTF-8.
+
+\argsection{log-encoding}
+
+The \igls{encoding} of the \iext{log} file. If omitted, the default
+encoding will be used. See \sectionref{sec:defencoding}. (Note
+that the \ext{log} file may not have the same encoding as the
+\ext{tex} file~\cite{tex.sx.2013}.)
+
+\argsection{default-encoding}
+
+The default \igls{encoding} used by \bibgls\ to read and write files is
+governed by the \idx{JVM}. This typically matches your operating
+system's default encoding. If this is incorrect, you can either
+globally change the encoding for the \idx{JVM}, which will affect
+all Java applications installed on your device, or you can use
+\longarg{default-encoding} just to set the default for \bibgls.
+See \sectionref{sec:defencoding}.
\section{Interpreter Options}
@@ -3498,8 +3718,8 @@ space. Similarly \ics{nobreakspace} just produces a space.
\argsection{no-break-space}
The interpreter treats a tilde character \idx{nbspchar} as a non-breakable
-space (default). Similarly \ics{nobreakspace} produces a
-non-breakable space character (\hex{00A0}).
+space (default). Similarly the interpreter will define
+\ics{nobreakspace} to produce a non-breakable space character (\hex{00A0}).
\argsection{custom-packages}
@@ -3535,8 +3755,8 @@ for more details about the interpreter.
\argsection{list-known-packages}
-This option will list all the packages supported by the \TeX\ parser
-library and will then exit \bibgls. The results are divided into two
+This option will list all the packages supported by the \texparserlib\
+and will then exit \bibgls. The results are divided into two
sections: those packages that are searched for in the \iext{log}
file and those packages that aren't searched for in the \iext{log}
file but have some support available. Some of the support is very
@@ -3587,7 +3807,7 @@ This option has a cumulative action so \code{\longarg{packages}
\longarg{packages} pifont}.
Note that there's only a limited number of packages supported by the
-\TeX\ parser library. This option is provided for cases where you're
+\texparserlib. This option is provided for cases where you're
using a command from a package that the interpreter doesn't support
but it happens to have the same name and meaning as a command from
a package that the interpreter does support. You can also use it to
@@ -4342,10 +4562,12 @@ prefixed label.
\section{Encoding}
\label{sec:bibencoding}
-Avoid \idx{non-ASCII} characters in the \meta{id} if your document uses the
-\isty{inputenc} package.
-(This isn't a problem for \XeLaTeX\ or
-\LuaLaTeX, but you still need to avoid special characters.)
+If you are using \XeLaTeX\ or \LuaLaTeX\ (which are natively UTF-8)
+or if you are using a modern \TeX\ distribution \pdfLaTeX\ with
+UTF-8 support, then you can have UTF-8 characters in the \meta{id}
+of your entries. (Avoid \TeX\ special characters, active characters
+or characters that are part of the \ext{bib} syntax.)
+
You can set the character \igls{encoding} in the \ext{bib} file using:
\begin{codeenv}
\idx{commentchar} Encoding: \meta{encoding-name}
@@ -4363,12 +4585,15 @@ If you don't use either method \bibgls\ will
have to search the entire \ext{bib} file, which is inefficient and
you may end up with a mismatched \gls{encoding}.
-Note that recent changes to the \LaTeX\ kernel now allow
-\idx{non-ASCII} characters in labels when using commands such as
-\cs{label} (with \sty{inputenc}). The commands used by the
-\sty{glossaries} package are more complicated, but changes have been
-made in \sty{glossaries} v4.47 and \sty{glossaries-extra} v1.46 to
-help support this, however it hasn't been fully tested.
+\begin{important}
+The encoding comment line must come before any non-ASCII content
+otherwise a malformed input error may occur while parsing the file
+for the comment line.
+\end{important}
+
+If there is no encoding line in the \ext{bib} file and the
+\csopt{charset} option hasn't been used, then the default encoding
+will be assumed (see \sectionref{sec:defencoding}).
\section{Comments}
\label{sec:bibcomments}
@@ -4667,7 +4892,7 @@ definition within the document (if it's already been defined before
the resource file is input). In general, it's best to just use
\cs{providecommand}.
-The \TeX\ parser library used by \bibgls\ will parse the contents of
+The \texparserlib\ used by \bibgls\ will parse the contents of
\atentry{preamble} before trying to interpret the field value used
as a \hyperref[sec:fallbacks]{fallback} when \field{sort} is omitted (unless
\csopt[false]{interpret-preamble} is set in the resource options).
@@ -4691,7 +4916,7 @@ Neither entry has the \field{sort} field, so \bibgls\ has to fall
back on the \field{name} field and, since this contains the special
characters \idx{escchar} (backslash), \idx{mshiftchar} (maths
shift), \idx{bgroupchar} (begin group) and
-\idx{egroupchar} (end group), the \TeX\ parser library is used to interpret it.
+\idx{egroupchar} (end group), the \texparserlib\ is used to interpret it.
The definitions provided by \atentry{preamble} allow \bibgls\ to
deduce that the \field{sort} value of the \code{S} entry is just
\code{S} and the \field{sort} value of the \code{card} entry is
@@ -8169,7 +8394,8 @@ the \gls{encoding} in the \ext{bib} file where it can also be read by
a \ext{bib} managing systems, such as JabRef.
See \longarg{tex-encoding} for the \gls{encoding} used to write the \ext{glstex}
-file.
+file, and see \sectionref{sec:defencoding} for information about the
+default encoding.
\optsection{locale}
@@ -13047,7 +13273,7 @@ contains the required \cs{MFUnocap} commands (in a similar style to
The \bibgls\ word-boundary implementation is slightly different with
this setting than with the \cs{capitalisewords} command (implemented
-in \TeX\ or by the \TeX\ parser library when interpreting field
+in \TeX\ or by the \texparserlib\ when interpreting field
values). Only words in the exclusion list that start with an
alphabetical character can be matched. Punctuation following a
word-boundary is not considered part of the next word.
@@ -16798,7 +17024,9 @@ and \textsuperscript{2} (\hex{00B2}).
As with the letter sort methods, letters are compared using a
character code comparison not by a locale alphabet. The closest
locale-sensitive equivalent is to use \csopt{sort-number-pad} with a
-locale sort method.
+locale sort method. Alternatively, use \ics{IfTeXParserLib} and
+\ics{bibglspaddigits} to pad the number for the interpreter but
+not in the \TeX\ document.
\begin{figure}
\figcontents
@@ -18370,7 +18598,7 @@ digits that don't belong to the \qt{Number, Decimal Digit} category.
The plain \optfmt{space-zero} alternatives are more efficient as
they just perform a simple substitution.
-The \TeX\ parser library used by \bibgls\ recognises the standard
+The \texparserlib\ used by \bibgls\ recognises the standard
\LaTeX\ text-mode commands \ics{textsuperscript}\margm{text} and
\ics{textsubscript}\margm{text}
and will use the Unicode superscript or subscript characters if they cover every
@@ -22487,7 +22715,7 @@ If \csopt{save-definition-index} has been set this command expands to the
\gls{definitionindex} of the entry identified by \meta{label}. This
command will only be provided in the \ext{glstex} file if
\csopt{save-definition-index} has been set. However, the command is
-always defined by the \hyperref[sec:texparserlib]{\TeX\ parser library}
+always defined by the \texparserlib\
but will expand to empty if the associated resource option hasn't
been set.
@@ -22498,7 +22726,7 @@ If \csopt{save-use-index} has been set this command expands to the
\gls{orderofuseindex} of the entry identified by \meta{label}. This
command will only be provided in the \ext{glstex} file if
\csopt{save-use-index} has been set. However, the command is
-always defined by the \hyperref[sec:texparserlib]{\TeX\ parser library}
+always defined by the \texparserlib\
but will expand to empty if the associated resource option hasn't
been set.
@@ -22767,10 +22995,10 @@ Display version information and quit.
This application recognises the commands listed below as well as
some standard commands such as \ics{newcommand}. Avoid any overly
-complicated code within the \ext{tex} file. The
-\hyperref[sec:texparserlib]{\TeX\ parser library} isn't a \TeX\ engine! The
+complicated code within the \ext{tex} file. The \texparserlib\
+isn't a \TeX\ engine! The
\ext{tex} file doesn't need to be a complete document, but if you want certain
-commands recognised from packages that the \TeX\ parser library supports,
+commands recognised from packages that the \texparserlib\ supports,
you'll need to include \ics{usepackage} in the \ext{tex} file. If
you want to quit parsing the \ext{tex} file at the start of the
document, use the \convertglsbiblongarg{preamble-only} switch.
@@ -23644,7 +23872,7 @@ maths mode. These are all defined with \atentry{symbol}, which means
that by default the \field{sort} field will be obtained from the
label not from the \field{name} field. However, if you want to sort
by the \field{name} field (for example, with \csopt[name]{sort-field})
-the \TeX\ parser library recognises all the mathematical Greek letter commands
+the \texparserlib\ recognises all the mathematical Greek letter commands
provided in the \LaTeX\ kernel. Additionally it recognises
\ics{omicron} which isn't provided by \LaTeX\ (the symbol can be
reproduced with a \idx!{lowercase} Latin \qt{o}). Note that
@@ -23678,7 +23906,7 @@ but \LaTeX\ needs a definition for this, so it's provided in the
\atentry{preamble}\marg{\qtdelim{\cs{providecommand}\marg{\cs{omicron}}\marg{o}}}
\end{codeenv}
(With \sty{glossaries-extra} v1.27+, this is no longer needed.)
-The \TeX\ parser library and \sty{glossaries-extra-bib2gls}
+The \texparserlib\ and \sty{glossaries-extra-bib2gls}
similarly provide the missing \idx!{uppercase}
Greek letters, and these can be dealt with in the same way.
@@ -23700,7 +23928,7 @@ This file also has a preamble:
\end{codeenv}
The first command \inlinedef{bigoperatornamefmt}
is used in the \field{name} field to display both the in-line and display
-versions of the symbol. The \TeX\ parser library only has a limited ability to
+versions of the symbol. The \texparserlib\ only has a limited ability to
interpret this as not all the symbols have Unicode in-line and large versions.
In some cases, such as the integral symbol $\int$, there is only a small
version. (A large version would require construction from \hex{2320},
@@ -27219,7 +27447,7 @@ Note that this is a total of 15~glossaries (including the
require 16 write registers (including the write register used to
create the indexing style file), and a total of $15\times3 + 1 = 46$
associated files. (This doesn't include the standard \ext{aux} file
-and the \ext{out} file created by \sty{hyperref}.) With \bibgls, no
+or the \iext{out} file created by \sty{hyperref}.) With \bibgls, no
additional write registers are required and the number of associated
\bibgls\ files is equal to the number of resource commands plus the
transcript file (in this example, $9+1=10$).