.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "BIB2GLS 1" .TH BIB2GLS 1 2024-01-30 "perl v5.38.2" 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 .IX Header "SYNOPSIS" \&\fBbib2gls\fR [\fIoption\fR]+ \fIauxfile\fR .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 performs two functions in one: (1) selects entries from .bib files according to information found in the \fIauxfile\fR (similar to \&\fBbibtex\fR); (2) hierarchically sorts entries and collates location lists (similar to \fBmakeindex\fR and \fBxindy\fR). The .aux extension may be omitted from \fIauxfile\fR. .PP 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 .IX Header "OPTIONS" .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\-\-cite\-as\-record\fR 4 .IX Item "--cite-as-record" Treat \f(CW\*(C`\ecitation\*(C'\fR as an ignored record. .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\-\-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\-\-date\-in\-header\fR (or \fB\-D\fR)" 4 .IX Item "--date-in-header (or -D)" The header comment at the start of the \fI.glstex\fR file will include the file modification date. .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 )" 4 .IX Item "--dir directory (or -d )" 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 that \fB\-\-packages\fR overrides this option, so if the same package is 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\-\-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 )" 4 .IX Item "--log-file file (or -t )" 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 commands to protect against case-changing commands like \f(CW\*(C`\eGls\*(C'\fR. .Sp The default is to do this for all fields. To do this for only a subset of fields, set \fIfields\fR to a comma-separated list of fields (e.g. \fBname,short,long\fR). The keyword \fBall\fR indicates all fields. .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\-protection\fR as there should no longer be any need for this protection. .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 nested link text. (Default list: name, text, plural, first, firstplural, short, shortplural, long, longplural, symbol). .Sp If \fBnone\fR, disable check. .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\-date\-in\-header\fR 4 .IX Item "--no-date-in-header" The header comment at the start of the \fI.glstex\fR file will not include the file modification date (default). .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\-\-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`2\*(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. This option automatically implements \fB\-\-record\-count\fR. .Sp The \fIrule\fR may be: \f(CW\*(C`all\*(C'\fR or \f(CW\*(C`a\*(C'\fR (count all records), \&\f(CW\*(C`non\-ignored\*(C'\fR or \f(CW\*(C`n\*(C'\fR (count all non-ignored records), \&\f(CW\*(C`f/\*(C'\fR\fIregex\fR\f(CW\*(C`/\*(C'\fR (only count records where the format matches the regular expression \fIregex\fR), \&\f(CW\*(C`c/\*(C'\fR\fIregex\fR\f(CW\*(C`/\*(C'\fR (only count records where the counter name 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 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\-\-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. .IP "\fB\-\-trim\-only\-fields\fR \fIlist\fR" 4 .IX Item "--trim-only-fields list" 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\-\-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 .IX Header "LICENSE" License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .SH "RECOMMENDED READING" .IX Header "RECOMMENDED READING" The bib2gls manual: .PP .Vb 1 \& texdoc bib2gls .Ve .PP The glossaries-extra manual: .PP .Vb 1 \& texdoc glossaries\-extra .Ve .PP The glossaries manual: .PP .Vb 1 \& texdoc glossaries .Ve .SH AUTHOR .IX Header "AUTHOR" Nicola L. C. Talbot,