Paket glossaries: Glossar und Symbolverzeichnis erstellen und Abkürzungen verwenden

Gespeichert von Erik Wegner am/um
Body

Das Paket glossaries erlaubt die Erstellung von Glossar, Symbol- und Abkürzungsverzeichnis unter Verwendung von makeindex und ist der Nachfolger des glossary-Pakets. Für die Umbenennung des Abkürzungsverzeichnis wird das LaTeX-Paket translator benötigt.

Siehe auch

LaTeX-Datei

\documentclass[a4paper]{scrartcl}
\usepackage[utf8]{inputenc} %Dateikodierung
\usepackage[T1]{fontenc} % Aktiviert EC-Schriftarten
\usepackage{ae} % Schöne Schriften für PDF-Dateien
\usepackage{textcomp} % Text-Companion-Symbols (z. B. \texteuro)
\usepackage[ngerman]{babel} % Deutsche Einstellungen
\usepackage{lmodern} % Latin Modern

\usepackage[ngerman]{translator}
%Paket laden
\usepackage[
nonumberlist, %keine Seitenzahlen anzeigen
acronym,      %ein Abkürzungsverzeichnis erstellen
toc,          %Einträge im Inhaltsverzeichnis
section]      %im Inhaltsverzeichnis auf section-Ebene erscheinen
{glossaries}


\usepackage{hyperref}

%Ein eigenes Symbolverzeichnis erstellen
\newglossary[slg]{symbolslist}{syi}{syg}{Symbolverzeichnis}

%Den Punkt am Ende jeder Beschreibung deaktivieren
\renewcommand*{\glspostdescription}{}

%Glossar-Befehle anschalten
\makeglossaries

%Diese Befehle sortieren die Einträge in den
%einzelnen Listen:
%makeindex -s datei.ist -t datei.alg -o datei.acr datei.acn
%makeindex -s datei.ist -t datei.glg -o datei.gls datei.glo
%makeindex -s datei.ist -t datei.slg -o datei.syi datei.syg

%Befehle für Symbole
\newglossaryentry{symb:Pi}{
name=$\pi$,
description={Die Kreiszahl.},
sort=symbolpi, type=symbolslist
}
\newglossaryentry{symb:Phi}{
name=$\varphi$,
description={Ein beliebiger Winkel.},
sort=symbolphi, type=symbolslist
}
\newglossaryentry{symb:Lambda}{
name=$\lambda$,
description={Eine beliebige Zahl, mit der der nachfolgende Ausdruck
multipliziert wird.},
sort=symbollambda, type=symbolslist
}

%Befehle für Abkürzungen
\newacronym{MS}{MS}{Microsoft}
\newacronym{CD}{CD}{Compact Disc}
%Eine Abkürzung mit Glossareintrag
\newacronym{AD}{AD}{Active Directory\protect\glsadd{glos:AD}}

%Befehle für Glossar
\newglossaryentry{glos:AD}{
name=Active Directory,
description={Active Directory ist in einem Windows 2000/" "Windows
Server 2003-Netzwerk der Verzeichnisdienst, der die zentrale
Organisation und Verwaltung aller Netzwerkressourcen erlaubt. Es
ermöglicht den Benutzern über eine einzige zentrale Anmeldung den
Zugriff auf alle Ressourcen und den Administratoren die zentral
organisierte Verwaltung, transparent von der Netzwerktopologie und
den eingesetzten Netzwerkprotokollen. Das dafür benötigte
Betriebssystem ist entweder Windows 2000 Server oder
Windows Server 2003, welches auf dem zentralen
Domänencontroller installiert wird. Dieser hält alle Daten des
Active Directory vor, wie z.B. Benutzernamen und
Kennwörter.}
}
\newglossaryentry{glos:AntwD}{name=Antwortdatei, description={Informationen zum
Installieren einer Anwendung oder des Betriebssystems.}}


\begin{document}
\tableofcontents{}

\section{Allgemeines}
In unserem Netzwerk setzen wir auf \gls{AD}. Durch den Einsatz
eines \gls{AD} erreichen wir bei \gls{MS}-Systemen, die mit einer
\gls{glos:AntwD} von \gls{CD} installiert wurden, die beste Standardisierung.

\section{Griechische Symbole}
Berechnungen mit \gls{symb:Pi} ergeben stets ein ungenaues Ergebnis,
denn \gls{symb:Pi} ist eine irrationale Zahl. Weiterhin gibt es noch
\gls{symb:Phi} und \gls{symb:Lambda}.

\cleardoublepage{}

%Glossar ausgeben
\printglossary[style=altlist,title=Glossar]

%Abkürzungen ausgeben
\deftranslation[to=German]{Acronyms}{Abkürzungsverzeichnis}
\printglossary[type=\acronymtype,style=long]

%Symbole ausgeben
\printglossary[type=symbolslist,style=long]

\end{document}

Verarbeitung der Datei

pdflatex datei
makeindex -s datei.ist -t datei.alg -o datei.acr datei.acn
makeindex -s datei.ist -t datei.glg -o datei.gls datei.glo
makeindex -s datei.ist -t datei.slg -o datei.syi datei.syg
pdflatex datei

Das Ergebnis: beispiel_glossaries.pdf

Siehe auch TeXnicCenter-Einstellungen. Achtung: die Dateiendungen weichen für das Paket glossaries in der Reihenfolge ab!

Hinweise

  • Die Definitionen der Glossareinträge und Abkürzungen können in getrennten Dateien verwaltet werden.
  • Die Einträge der Symbolliste sollten immer einen sort-Eintrag bekommen, wobei auf den gleichen Anfangsbuchstaben zu achten ist, um die Leerräume zwischen den gruppierten Einträgen zu vermeiden.
Dateien
Anhang Größe
beispiel_glossaries.pdf 67.99 KB

Kommentare

Permalink

Hallo,

sitze seit Tagen am Symbol- und Abkürzungsverzeichnis meiner Diplomarbeit. Hatte gehofft, durch dieses super Beispiel endlich die Lösung gefunden zu haben, aber leider funktioniert es bei mir noch nicht.

Habe das Beispiel kopiert. glo, .acn und .syg sind vorhanden. Es wird keine Fehlermeldung ausgespuckt. Dennoch wird keines der Verzeichnisse ausgegeben. Auch im Inhaltsverzeichnis taucht nichts auf.

Habe in der Konsole auch die beschriebenen Befehle mit meinem Datei-Namen ausgeführt. Habe ich noch etwas vergessen???

Zur Info: Ich benutze TexShop am Mac.

Ich bin ratlos und hoffe auf Hilfe!

Lhiannon

Ich nochmal...

Habe eine neue tex-Datei (datei.tex) erstellt, wo ich nur den Beispiel-Code hineinkopiert habe - mit dem gleichen Ergebnis wie in meiner Diplomarbeit - keine Verzeichnisse.

Die Konsole gibt mir den Fehler aus:

Couldn't find input index file datei nor datei.idx.
Usage: makeindex [-ilqrcgLT] [-s sty] [-o ind] [-t log] [-p num] [idx0 idx1 ...]

Was mache ich falsch?

Lhiannon

Hallo Lhiannon,

bei welchem der drei makeindex-Aufrufe erscheint die Meldung? Ich habe gerade nochmal geprüft und die Befehle von hier kopiert und auf der Konsole eingefügt, es entsteht genau das erwartete Ergebnis.

Erik

Ich hatte denselben Fehler und bei mir lag es daran, dass ich vergessen hatte "makeindex.idx" rauszunehmen, also den ursprünglichen Befehl. Nachdem ich diesen gelöscht hatte und statt dessen die anderen drei Codes verwendet habe, funktioniert alles super.

Permalink

Super Anleitung, funktioniert bei mir soweit ganz gut: Glossar und Abkürzungsverzeichnis kann ich mit Latex- und Golssar- Kompilierung problemlos erstellen. Leider wird mein Symbolverzeichnis nicht erstellt. Es gibt keine Fehlermeldungen, lediglich Warnungen (die basieren jedoch auf dem Fakt, dass das Verzeichnis nicht erstellt wird, und Latex versucht, einen Hyperlink zwischen dem im Dokument verwendeten Symbol und dem Verzeichnis herzustellen).

Ich verwende Texshop. Die Klasse DissOnlineLatex basiert auf report.

Hier der Quellcode. Besten Dank!!!

\documentclass[geometry={top=4cm,bottom=3cm,right=3cm,left=3cm}]{DissOnlineLatex}
\usepackage{graphicx}                          
\usepackage{tabularx}                          
\usepackage{booktabs}                          
\usepackage[ngerman]{translator}                    
\usepackage[nonumberlist,acronym,toc]{glossaries}            
\newglossary[slg1]{roman}{syi1}{syg1}{roman}
\newglossary[slg2]{greek}{syi2}{syg2}{greek}
\makeglossaries  
\renewcommand{\glspostdescription}{}

%-Glossar---------------------------------------------
\include{glossar}

%-Abkürzungen---------------------------------------------
\include{acronym}

%-Symbole---------------------------------------------
\include{symbols}
\newglossaryentry{symb:z}{
name=z,
description={Höhe über Grund},
symbol=m,
sort=symbolz, type=roman
}
\newglossaryentry{symb:L}{
name=L,
description={Länge},
symbol=m,
sort=symbolL, type=roman
}
\newglossaryentry{symb:zeta}{
name=$\zeta$,
description={Stabilitätsparameter},
symbol=-,
sort=symbolz, type=greek
}
%-Dokument--------------------------------------------------------
\begin{document}
\pagenumbering{roman}
%-Inhaltsverzeichnis----------------------------------------------
\setcounter{page}{1}
\tableofcontents
%-Hauptteil-------------------------------------------------------
\pagenumbering{arabic}
\pagestyle{myheadings}
%-Kapitel---------------------------------------------------------
\include{chapter01}
\include{chapter02}
\include{chapter03}
\gls{symb:z}
\gls{symb:L}
\gls{symb:zeta}

%-Glossar--------------------------------------------
\printglossary[style=altlist,title=Glossar]
\newpage
%-Abkürzungsverzeichnis--------------------------------------------
\deftranslation[to=German]{Acronyms}{Abk\"urzungsverzeichnis}
\printglossary[type=\acronymtype,style=long]
\newpage
%-Symbolverzeichnis--------------------------------------------
\printglossary[type=roman,style=long4col,title=R\"omische Symbole]
\printglossary[type=greek,style=long4col,title=Griechische Symbole]
\end{document}

Permalink

Thank you for this example. I tried it in a file I'm working on currently, and the glossary words in the 'main' text are coloured (so they are indeed linked to something somehow).

However, the glossary itself does not show. Not just in my own file, but also if I run your syntax. It only shows the first page (complete with everything that should be there), and an empty second page.

 

Do you know why it may not work?

I certainly tried to run them, but everytime I do, my file does not want to produce an output anymore. Or, what also happens, is that the only output I get is the text of 'make index .....'

So, I must do something wrong with those index. I have tried with an \ in front of the command, without the \ in front. I have tried a substitution for 'filename'.  

 

Don't you use any other packages or settings maybe? that could affect the file from not working?

 

I had the similar problem

1. you have to change the filename to your document name.

2.  I commented the following code line:

%\cleardoublepage{}

and added

\clearpage

instead.

and then the example worked for me :)

Antwort auf von GG (nicht überprüft)

Permalink

doesn't work in TexMaker... 

I've already done this with original source code:

a) change % for \ in three makeindex commands

b) change filename to my document name

c) %\cleardoublepage{} and added \clearpage 

d) add Makeindex process to Quick Build

this error pops up:

 

! LaTeX Error: Missing \begin{document}.

See the LaTeX manual or LaTeX Companion for explanation.

Type H <return> for immediate help.

...

l.22 \makeindex -

s skuska.ist -t skuska.alg -o skuska.acr skuska.acn

You're in trouble here. Try typing <return> to proceed.

If that doesn't work, type X <return> to quit.

 

What am I doing wrong?

 

Permalink

Hallo zusammen,

 

ich habe wohl ein ähnliches Problem wie oben schon angedeutet, jedoch unter Win mit TeXnicCenter.

Ich habe den Code in TeXnicCenter kopiert und drei mal kompelliert - keine Fehler oder Warnungen, jedoch wird keines der drei Verzeichnisse auf Seite 2 bei mir ausgegeben. Was kann ich da machen?

 

Grüße, Lars

Permalink

Hallo,

 

ich habe das gleiche Problem wie oben:

Wenn ich makeindex auskommentiere habe ich keinen Fehler. Nehme ich sie mit rein, do kommt bei mir die Fehlermeldung:

"Missing begin document"

was habe ich denn falsch gemacht?

 

Und: Kann ich die Glossareinträge auch in ein extra latex file machen und dann einbinden? wie bei verschiedenen Kapiteln?

 

Vielen Dank schonmal, auch für die super Vorlage!

 

 

LG

 

Jessi

Antwort auf von Jessi (nicht überprüft)

Permalink

Ich habe das geleiche Problem - ich nutze vsCode... Leider komme ich seit einem Tag nicht mehr weiter und bin am verweifeln.



Hat eventuell einer von Euch eine Idee wie ich weiter komme?

Gruß ShuShu

Permalink

für Winedt
- pdflatex datei (einfach Button drücken)
- command prompt suchen und nach der Reihe eingeben und Enter
makeindex -s datei.ist -t datei.alg -o datei.acr datei.acn
makeindex -s datei.ist -t datei.glg -o datei.gls datei.glo
makeindex -s datei.ist -t datei.slg -o datei.syi datei.syg
(Statt datei natürlich den eigenen Dateinamen angeben ;-)
- pdflatex datei (einfach Button drücken)
- pdflatex datei (einfach Button drücken)
und geht!

Permalink

I found out that  the setting

makeindex -s %.ist -t %.glg -o %.gls %.glo

didn't work for me, since some files could not have been generated. But I figured out the following solution:

- Create a new text file named xyz.bat (e.g. mkIdx.bat) in the same directory as your main .tex-file

- open xyz.bat with a Text-Editor and copy the following lines into it

-------copy this to xyz.bat --------------------\/

REM Abkuerzungsverzeichnis
makeindex -s Masterarbeit.ist -t Masterarbeit.alg -o Masterarbeit.acr Masterarbeit.acn

REM Glossar
makeindex -s Masterarbeit.ist -t Masterarbeit.glg -o Masterarbeit.gls Masterarbeit.glo

REM Symbolverzeichnis
makeindex -s Masterarbeit.ist -t Masterarbeit.slg -o Masterarbeit.syi Masterarbeit.syg

-------copy this to xyz.bat --------------------/\

- go to the Texmaker configuration and in the "makeindex" settings line select the xyz.bat file

- F6

- F12

- F6

And everything should be fine. (To get the Glossary, list of symbols and list of abbreviations listed in the TOC, do F11 and again F6)

Took me quite a long time to get this running conveniently. Hope it helps some more people ;)

PS: don't use the "xindy" option for the glossaries package - made quite a mess in my case (must have something to do with makeindex)

Permalink

Hallo,

mit Hilfe des Pearl-Scripts habe ich es geschafft, das dokument korrekt anzuzeigen.

Leider ist es nicht möglich die Einträge zu erweitern. Wenn ich z.B.


\newglossaryentry{symb:mu}{
name=$\mu$,
description={Mu ist ein toller Buchstabe},
sort=symbolmu, type=symbollist
}
 

eingebe, wird nach dem Kompilieren kein neuer Einrag im Verzeichnis angezeigt. Die bestehenden Eiträge können bearbeitet werden.

Vielen Dank im Voraus für die Hilfe! Ich bin seit zwei Tagen schon am verzweifeln :)

 

Robert

 

Permalink

Hallo Robert,

nur um sicherzugehen: Hast du neben der Definition des Symbols (diesen Teil hast du hier im Kommentar eingestellt) auch das Symbol im Text verwendet?

Also ein \gls{symb:mu} im Fließtext eingebaut? Das Ansinnen dieses Weges ist es ja, eben nur die verwendeten Abkürzungen und Symbole im Glossar auszugeben, deshalb die Frage.

Viele Grüße

Erik

Permalink

Hallo Herr Wegner,
vielen Dank für dieses Beispiel. Aber wieso deaktivieren Sie darin durch Neudefinition von \glspostdescription den abschließenden Punkt, wenn dafür die Paketoption nopostdot genügt hätte? (Und wieso benutzen Sie in den Beschreibungen der Einträge dann doch wieder den Punkt am Abschluss:-)

Besonders hilfreich finde ich, dass man den Verzeichnisstil über die Option style=... in \printglossary für jedes Verzeichnis individuell anpassen kann. Mit \setglossarystyle funktioniert das hingegen nicht.

Permalink

Bei mir half das Ergänzen von "automake,"

\usepackage[

nonumberlist, %keine Seitenzahlen anzeigen

acronym,      %ein Abkürzungsverzeichnis erstellen

toc,          %Einträge im Inhaltsverzeichnis

automake,

section]      %im Inhaltsverzeichnis auf section-Ebene erscheinen

{glossaries}