Ein Problem und zwei Lösungen mit dem Paket glossaries in LaTeX

Das Problem

Ich habe dieses Wochenende ein Problem mit dem Glossaries-Paket unter LaTeX gehabt. In meinem Dokument hatte ich mir eine eigene Liste mit dem Befehl

\newglossary[slig]{mylist}{syii}{syig}{Liste}

erstellt. Da ich alle Einträge in dieser Liste ausgeben wollte, habe ich den Befehl

\glsaddall[types=mylist]

benutzt. Nach dem Ausführen von makeindex mit dem Befehl

makeindex -s main.ist -t main.slig -o main.syii main.syig

wurde aber in der fertigen PDF kein Eintrag angezeigt. (Hinweis: Meine TeX-Datei heißt main.tex.)

Also habe ich mir einmal angeschaut, was in den einzelnen Dateien enthalten ist. In der “main.slig”-Datei fand ich dann schließlich einen Hinweis:

Scanning input file main.syig...
!! Input index error (file = main.syig, line = 1):
-- Illegal space within numerals in second argument.

Das Problem musste also in der Datei “main.syig” liegen. Diese enthielt nur einen Eintrag:

\glossaryentry{$\mathrm {S}$?\glossentry{symbi:S}|setentrycounter[]{page}\glsnumberformat}{\textlatin  {V}}

Als zweites Argument wurde dort

\textlatin  {V}

eingetragen. Nach einigem herumprobieren bin ich auf die folgenden zwei Lösungen gekommen.

Lösung 1

Die erste Lösung ist etwas umständlich, funktioniert aber auch. Dazu als zweites Argument manuell

\textlatin  {V}

in irgendeine Zahl ändern. Anschließend wieder den MakeIndex-Befehl ausführen.

Lösung 2

Da das Problem nur auftrat, wenn ich die Seitennummerierung im römischen Stil (\pagenumbering{Roman}) hatte, konnte ich das Problem auch lösen, indem ich

\glsaddall[types=mylist]

Vor dem Umstellen auf römischer Nummerierung einfügte.

Minimalbeispiel

Letztendlich sieht mein Dokument nun wie folgt als Minimalbeispiel aus:

\documentclass[
a4paper,
bibliography=totoc,
listof=totoc,
ngerman,
parskip,
titlepage,
11pt,
numbers=noenddot,
oneside
]{scrartcl}

\usepackage[
nonumberlist, % Keine Seitenzahlen anzeigen
acronym,      % Abkürzungsverzeichnis erstellen
toc,          % In Inhaltsverzeichnis aufnehmen
section       % Verzeichniseintrag als Section
]{glossaries}

% Verzeichnis definieren
\newglossary[slig]{mylist}{syii}{syig}{Liste}

% Erzeugen
\makeglossaries

% Neuer Eintrag
\newglossaryentry{symbi:S}{
name=S,
description={Buchstabe S},
type=mylist
}

\begin{document}
\glsaddall[types=mylist]

\pagenumbering{Roman}
Meine Titelseite

\pagebreak

% Inhaltsverzeichnis
\tableofcontents
\pagebreak

% Ausgabe von mylist
\printglossary[type=mylist,style=long]

% Inhaltsteil
\pagebreak
\pagenumbering{arabic}

\section{Abschnitt 1}
Ich bin Text ohne die definierte Benutzung eines glossaries-Eintrags!

\end{document}

Eventuell gibt es noch eine andere Lösung. Für mich reicht aber die zweite voll und ganz.

Tagged .Speichere in deinen Favoriten diesen permalink.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert