Blog Digitalgesellschaft Verwaltungsbetrieb Textarchiv Textarchiv Walter Kirk (✝) Impressum
Mit bib2gls Glossare erstellen
Vorbemerkungbib2glsbib FormateBeispielEinträge in der .texErklärungUnterstützte VerzeichnisseEigene VerzeichnisseOrdner bibQuelleEinbindungKritikBuchmusterWeiterführende HinweiseCheckliste LaTeX anwendenSchlussbemerkung
Die Erstellung einer funktionierenden Vorlage, um mit LaTeX qualitativ hochwertige Textausgaben zu erzielen, nimmt einen erheblichen Zeitanteil an der Produktion ein. Dies gilt insbesondere für die Erstellung eines Glossar, von Stichwort- und sonstigen Verzeichnissen.
Wenn Quellen als Zitate bzw. als Literaturverzeichnis insgesamt in Dokumenten eingefügt werden müssen, hat sich das BibTeX-Format als Standard für die Einträge heraus gebildet.
Für die Erstellung von Glossaren wie Abkürzungs-, Symbol- und anderen Verzeichnissen in Dokumente sind bei der Fertigung im LaTeX-Format die Pakete index mit makeindex und glossery der anerkannte Standard.
Wer Texte mit LaTeX verwirklichen will, hat seit einiger Zeit auch eine Möglichkeit, Glossare mit Hilfe des JAVA-Programms bib2gls und einer vorbereiteten .bib in die .tex einzubinden. Dieses Tool ist in den LaTeX-Distributionen TeXLive und MikTeX bereits enthalten und kann über die bekannten Wege unter den bekannten Betriebssystemen installiert werden.
Hinweise zur Installation und eine Beschreibung der Anwendungen sind veröffentlicht unter http
Eine strukturierte Einführung vermittelt die Autorin der Tools Dr. Nikola Talbot unter dem Titel glossaries-extra and bib2gls: An Introductory Guide
Das JAVA-Programm benötigt eine .bib, die entweder bereits vorliegt oder mit zum Beispiel JabRef erstellt wird. Zum Extrahieren von Einträgen aus einer bereits vorhandenen .tex dient das Tool convertgls2bib.
Eine Übersicht der unterstützten .bib Formate enthält der User-Guide bib2gls: a command line Java application to convert .bib files to glossaries-extra.sty resource files
Eine Kurzfassung der möglichen Einträge gibt es von der Autorin unter:
http
Es sollen mehrere Glossare ausgegeben werden, hier ein Glossar, Abkürzungs-, Notationen-, Stichwort- und Symbolverzeichnis. Dazu sind die entsprechenden .bib erstellt: acronym.bib, index.bib, notationen.bib, symbol.bib.
In der Präambel der buch01bib.tex, also vor
\begin{document}
wird beispielsweise eingetragen:
x\usepackage[
abbreviations,
acronyms,
symbols,
record,% using bib2gls
nomain,% don't create default 'main' glossary
index% create index list
]{glossaries-extra} %Laden des Paketes glossaries-extra
% define custom list:
\newglossary*{notation}{Notationen}
% new keys must be defined before \GlsXtrLoadResources
\glsaddstoragekey{unit}{}{\glsentryunit}
% Select all files in bib.
% Not a good approach, but bib2gls seems to have problems with 'subimport'.
\GlsXtrLoadResources[%
src={./bib/acronym},%
selection = {all},%
]%
%funktioniert
\GlsXtrLoadResources[
src={./bib/notation}, % entries in notation.bib.bib
entry-type-aliases=
{
notation=entry,% make @notation behave like @entry
},
type={same as original entry},
selection=all,
not-match={entrytype\=symbol},% don't select @symbol
save-locations=false,% location list not needed
]%
\GlsXtrLoadResources
[src=./bib/symbol, % entries defined in symbol.bib
dual-type=symbols,% put the dual entries in the 'symbols' list
type=main, % put the primary entries in the 'main' list
sort = {de-DE}, % sort the primary entries according to natural German ordering
dual-sort = letter-nocase, % sort the dual entries according to case-insensitive letter order
save-locations=true, % page references required, false=not required
selection={recorded and deps and see},% selection criteria
category=symbol,
dual-category=symbol
]%
\GlsXtrLoadResources[
src={./bib/index},% bib files
sort={de-DE},% sort according to this locale
type=index,
entry-type-aliases={unit=entry},% make @unit behave like @entry
field-aliases={
unitname=name,
unitsymbol=index,
measurement=description
},
selection=all% select all entries in the .bib files
]%]
\glsxtrnewgls{dual.}{\sym} % for dualentry
% set see
\renewcommand{\glsxtrpostdescgeneral}{%
\glsxtrifhasfield{see}{\glscurrententrylabel}%
{\glsxtrusesee{\glscurrententrylabel}}%
{}%
}
Im backmatter, also vor
xxxxxxxxxx
\end{document}
wird eingetragen:
xxxxxxxxxx
\printunsrtglossary[type=main,style=mcolindexgroup,title={Glossar}]
\printunsrtglossary[type=\acronymtype, nonumberlist=true, title={Abkürzungsverzeichnis}]
\printunsrtglossary[type=notation,title={Notationen}]
\printunsrtglossary[type=symbols,style=listgroup,title={Symbolverzeichnis}]
\printunsrtglossary[type=index,style=mcolindexgroup,title=Stichwortverzeichnis]
Dadurch werden die Verzeichnisse in das Dokument eingefügt. Zusätzlich werden hier der genutzte style sowie der Titel in Deutsch angegeben.
bib2gls und das Paket glossaries-extra unterstützen folgende Verzeichnisse:
- abbreviations
- acronyms
- index = Stichwortverzeichnis
- main = Glossar
- numbers
- symbols
Sind diese Verzeichnisse als Option mit angegeben, werden entsprechende Glossare mit \printunsrtglossary automatisch erstellt.
Im Beispiel wird das Verzeichnis Notationen zusätzlich erklärt mit
xxxxxxxxxx
\newglossary*{notation}{Notationen}
Alle .bib sind im Beispiel im Unterverzeichnis bib gespeichert:
├── bib │ ├── acronym.bib │ ├── index.bib │ ├── literatur.bib │ ├── notation.bib │ └── symbol.bib
Die Angabe im Master-Dokument erfolgt dann mit: ./bib/<name>.bib
Tipp
Die Auflistung aller Einträge in mehreren .bib vermeidet im Beispiel Fehlermeldungen und Bemerkungen. Außerdem lassen sich die .bib für mehrere Projekte nutzen.
Für die Einbindung der Einträge wird zur Ausführung angegeben:
xxxxxxxxxx
\GlsXtrLoadResources[src={./bib/acronym},% ggf. weitere Optionen]
Hier wird die acronym.bib ausgelesen und eingebunden.
Für die Erstellung der Glossare ist die Ausführung von pdflatex und gls2bib erforderlich:
xxxxxxxxxx
test@geraet: $ pdflatex buch01bib.tex
test@geraet: $ gsl2bib -g buch01bib.tex
test@geraet: $ pdflatex buch01bib.tex
Die Option -g sortiert entsprechend der vorgegebenen Gruppe. Das Ergebnis für die Ausführung von gls2bib ergibt im Beispiel:
xxxxxxxxxx
bib2gls 3.2 (2022-11-24)
Reading buch01bib.aux
Reading 00-titelseite.aux
Reading 00-impressum.aux
Reading 00-abstract.aux
Reading 00-einleitung.aux
Reading 01-kapitel.aux
Reading 02-kapitel.aux
Reading 03-kapitel.aux
Reading 04-kapitel.aux
Reading 05-kapitel.aux
Reading 00-anhang.aux
Reading ./bib/acronym.bib
Warning: Ignoring pattern for unknown field: entrytype\=symbol
Reading ./bib/notation.bib
Encoding: UTF-8
Reading ./bib/symbol.bib
Encoding: UTF-8
Reading ./bib/index.bib
Writing ~/buch01bib.glstex
4 entries written to ~/buch01bib.glstex.
Writing /~/buch01bib-1.glstex
1 entry written to ~/buch01bib-1.glstex.
Writng ~/buch01bib-2.glstex
10 entries written to ~/buch01bib-2.glstex.
Writing ~/buch01bib-3.glstex
13 entries written to ~/buch01bib-3.glstex.
28 entries written in total.
Hier wurden 28 Einträge in vier .glstex eingetragen. Diese Daten sind die Grundlage für die Übernahme in das Dokument buch01bib.tex
Die Probleme mit JAVA-Anwendungen sind bekannt. Aus meiner Sicht ist die reduzierte Installation von JAVA Runtime für die spezielle Nutzung von bib2gls in der Abwägung durchaus tolerabel.
Im Blogpost Text mit Kile und LaTeX erstellen ist am Beispiel einer Buchvorlage die Erstellung von Literaturverzeichnissen mit BibTeX- bzw. mit der Weiterentwicklung Biber/BibLaTeX beschrieben.
Das geänderte Buchmuster für die Nutzung mit gls2bib ist im dort angegebenen Archiv mit enthalten.
https
1. LaTeX für spezielle Textform notwendig (Buch, Thesis): Mustervorlage prüfen
2. Fehlerquellen:
- unvollständige LaTeX-Installation
- fehlerhafte Pakete
- eigene Fehler
3. Hilfe
- Handbücher zu LaTeX
- Beschreibung der Pakete
- community: Andere Nutzer haben das gleiche Problem vielleicht schon gelöst
Tipp
Fehlerquelle ist nicht immer der Nutzer. Abhängigkeiten der Pakete untereinander sind nicht immer geklärt. Bevor also eine intensive Fehlersuche erfolgt, hilft die Kontaktaufnahme mit der community.
Wer LaTeX benutzen will bzw. muss, quält sich durch die meist weit ausholenden und langatmigen Richtlinien für die Anwendung: Und es sind im Zweifel viele Texte, die es zu lesen gilt. Hilfreich ist da die community, die Anwendungstipps bereitstellt. Außerdem sind viele Hilfen nur in englischer Sprache verfügbar, was im deutschsprachigen Raum und in der speziellen eigenen Situation nicht immer vorteilhaft für die Anwendung ist.
Mit convertgls2bib und gls2bib stellt die Entwicklerin zwei in der Praxis durchaus nützliche Tools zur Verfügung. Die Tools werden stetig weiter entwickelt. Die Autorin ist auch aktiv in den einschlägigen Foren vertreten, um vorhandene Probleme zu klären und Beispiele für die Anwendung darzustellen.
Es wird zwar die Anpassung der eigenen Muster erforderlich, die Nutzung erleichtert jedoch die Anfertigung von mehreren Glossaren deutlich. Die bisherige Indexierung mit dem Paket index.sty und der Ausführung von makeindex entfällt damit. Und: Das bib-Format ist für die Erstellung von Literaturverzeichnissen bereits Standard und daher allgemein bekannt. Die Erstellung einer .bib kann mit bereits eingeführten Tools erfolgen (JabRef, Zotero).
Die Anwendung des bib Formates für die Erstellung von Glossaren vereinfacht die Texterstellung mit LaTeX in einem zentralen Punkt weiter.
© Wolfgang Kirk
Stand: 2023-06-20, aktualisiert: 2023-06-28, 07:00 Uhr