Ein Abkürzungsverzeichnis für ein LATEX-Dokument lässt sich sehr leicht mit Hilfe des Paketes nomencl anlegen.
nomencl ist ein Makro, welches mit Hilfe von MakeIndex ein Abkürzungsverzeichnis erstellt. Das Paket nomencl ordnet automatisch die Einträge alphabetisch, d.h. der Benutzer hat keinen direkten Einfluss auf die Sortierung im Abkürzungsverzeichnis.
Deklaration von Abkürzungen im Text
Zum Kennzeichnen von Abkürzungen reicht es, einer der folgenden Befehl im LATEX-Dokument zu nutzen:
\nomenclature[prefix]{symbol}{description}
oder
\abk[prefix]{symbol}{description}
Ein möglicher Eintrag für eine Abkürzung im Dokument sieht dann folgendermaßen aus:
Die Abkürzung etc.\abk{etc.}{et cetera} steht im Abkürzungsverzeichnis.
oder
Die Abkürzung etc.\nomenclature{etc.}{et cetera} steht im Abkürzungsverzeichnis.
Der Befehl kann entweder direkt hinter der Abkürzung platziert werden oder an einer anderen beliebigen Stelle im Dokument.
Schritt 1: Bearbeitung der Präambel
In der Präambel des Hauptdokuments sind folgende Zeilen einzufügen:
% --- Abkürzungsverzeichnis: ----------------------------
% START % Näheres siehe http://my.opera.com/timomeinen/blog/show.dml/68644
\usepackage{nomencl}
% Befehl umbenennen in abk
\let\abk\nomenclature
% Deutsche Überschrift
\renewcommand{\nomname}{Abkürzungsverzeichnis}
% Punkte zw. Abkürzung und Erklärung
\setlength{\nomlabelwidth}{.20\hsize}
\renewcommand{\nomlabel}[1]{#1 \dotfill}
% Zeilenabstände verkleinern
\setlength{\nomitemsep}{-\parsep}
\makenomenclature
%--------------------------------------------------------
Schritt 2: Laden der Datei xxx.nlo
Damit die festgelegten Abkürzungen in das Hauptdokument geschrieben werden, muss ein makeindex -Lauf gestartet werden. (Anmerkung: Hier im Beispiel heißt das LATEX-Dokument hauptdokument, d.h. der Name muss durch den Namen eures Dokuments ersetzt werden.) Bevor der Befehl in die Konsole eingegeben werden kann, muss man sich zum Verzeichnis hangeln, wo das hauptdokument abgespeichert ist. (Befehl: cd
Nachdem man sich im richtigen Verzeichnis befindet, folgende Zeilen in der Konsole eingeben:
makeindex hauptdokument.nlo -s nomencl.ist -o hauptdokument.nls
Es wird eine neue Datei generiert, hauptdokument.nls, in der alle Abkürzungen alphabetisch sortiert aufgelistet werden.
Schritt 3: Einfügen in das LATEX-Dokument
Durch den Befehl \printnomenclature
läßt sich das Abkürzungsverzeichnis an jeder beliebigen Stelle im Hauptdokument einfügen. (Bei wissenschaftlichen Arbeiten wird das Abkürzungsverzeichnis nach dem Inhaltsverzeichnis eingefügt.)
Schritt 4: LATEX-Lauf
Zum Abschluss muss noch ein LATEX-Lauf ausgeführt werden, um das Abkürzungsverzeichnis in das Hauptdokument zu schreiben.
Anmerkung
Werden im Verlauf der Arbeit weitere Abkürzungen deklariert, müssen die Schritte 2-4 wiederholt werden, damit die in das Abkürzungsverzeichnis aufgenommen werden.
Probleme:
Wird bei Schritt 4 der Fehler
! Paragraph ended before \nomgroup was complete.
ausgegeben, dann ist wahrscheinlich ein Fehler in der Datei hauptdokument.nls vorhanden,
Die Datei sollte folgendermaßen aufgebaut sein:
\begin{thenomenclature}
\nomgroup{A}
\item [{bzw.}]\begingroup beziehungsweise\nomeqref {1.0},
\nompageref{6}
...
\end{thenomenclature}
Der Fehler wird erzeugt, weil eine Klammer beim Befehl \nomgroup{}
am Beginn des Dokuments fehlt. Setzt man die Klammer manuell dann sollte beim LATEX-Lauf kein mehr Fehler erzeugt werden.
LaTeX-Vorlagen
Alle meine LaTeX-Vorlagen gibt es auf Codeberg:
➡https://codeberg.org/strobelstefan.org/latex-templates

ist absolut technik-begeistert und großer Fan von Linux und Open Source. Raspberry Pi Bastler der ersten Stunde und nach wie vor begeistert von dem kleinen Stück Hardware, auf dem er tolle Projekte umsetzt. Teilt hier seine Erfahrungen mit Nextcloud, Pi-hole, YubiKey, Synology und openmediavault und anderen spannenden IT-Themen. Nutzt Markdown und LaTeX zum Dokumentieren seiner Projekte und Gitea zum Versionieren. Sitzt vor einem 49“ Monitor, nutzt Windows und MacOS zum Arbeiten, Linux auf seinen Servern und virtuellen Maschinen und hört dabei Spotify und MP3s und Radio-Streams über seinen RadioPi.
Guten Tag
Ich versuche nun schon eine ganze Weile die nomenclature bei mir in meiner Masterarbeit zu integrieren, doch leider funktioniert das nicht. und zwar weiss ich nicht genau, wie ich das mit der Konsole machen muss. Es kommt immer der fehler „scanning input file Masterarbeit.idx und nothing written in Masterarbeit.ind
Kannst du mir vielleicht dabei helfen.. habe schon Stunden in den Foren verbracht.
Danke
Moin! Dein Artikel hat mir sehr geholfen!!! vor allem die } nach dem A hat mich fast in den wahnsinn getrieben … DANKE!!
Herzlichen Dank für deine ausführliche Anleitung!!!
Hallo,
erstmal danke für die Vielen Tips hier.
Mal ne andere frage, wnn ich ein *.tex Datei erstelle und diese mit \include{*.tex} einbinde gibt er die Abkürzungen nicht in der PDF an, wenn ich jedoch den selben inhalt in die main schreibe funtioniert alles wie es soll…
ich habe keine idee mehr, wenn mir jemand helfen kann wäre das super
Hallo Tobias,
bin zwar nicht mehr so ganz fit auf dem Gebiet, aber schreib mal den Befehl so \include{/Dateiname}. Lass einfach mal das .tex weg und versuche es nochmal.
Hallo,
ich schreibe gerade auch an einer wiss. Arbeit und muss ebenfalls ein Abkürzungs- bzw. Symbolverzeichniss an mein Dokument integrieren. Leider weiß ich nicht wie ich es mit TexShop die datei.nlo bzw. .nls generieren kann. Zum Beispiel, wie starte ich die erwähnte Konsole…
Danke im Vorraus
(p.s. schreibe mit Mac / TexShop)
Hallo TexFragender,
ich kenne mich mit dem erwähnten Tool von dir nicht aus. Ich habe zum Schreiben meiner Arbeit Kile verwendet.
Die Konsole ist das Standardterminal, das in Kubuntu integriert ist. Wie das bei einem Mac aussieht, kann ich dir daher nicht sagen.
Hallo,
ich habe genau den Code:
\nomenclature{etc.}{et cetera}
\nomenclature{z. B. }{zum Beispiel}
% Deutsche Überschrift
\renewcommand{\nomname}{Abkürzungsverzeichnis}
% Punkte zw. Abkürzung und Erklärung
\setlength{\nomlabelwidth}{.20\hsize}
\renewcommand{\nomlabel}[1]{#1 \dotfill}
% Zeilenabstände verkleinern
\setlength{\nomitemsep}{-\parsep}
\makenomenclature
\printnomenclature
\usepackage{nomencl}
in mein Latex-file geschrieben und dann unter Texnic-center auch bei dem Ausgabeprofil unter “Argumente die an Miktex übergeben werden sollen ” geschrieben:
“%bm”.nlo -s nomencl.ist -o “%bm”.nls
aber es wird kein Inhaltsverzeichnis angezeigt. Ich finde auch keine Date .nls sondern nur eine .nlo
mit
“%bm”.glo -s nomencl.ist -o “%bm”.gls
funktioniert es auch nicht.
Kann mir bitte jemand helfen?
Hallo,
ich schreibe gerade meine Diplomarbeit und versuche mich beim Anlegen eines Abkürzungsverzeichnisses. Ich bin aber blutige Anfängerin und weiß leider nun nicht, wo diese Konsole zu finden ist, wie ich da hin komme und wo ich das dann eingebe…gebe ich die Zeile dann genauso hintereinander ein, wie sie auf der HP oben steht? Alles andere habe ich nämlich schon reinkopiert und müsste funktionieren.
Vielen Dank für eure Hilfe!
Susanne
Hallo,
Erstmal vielen Dank für die tolle Anleitung. Es hat super funktioniert.
Ich musste noch ein paar Abkürzungen hinzufügen. Die Schritte 2-4 hätte ich dannach wiederholt, aber wenn ich im Dos den Befehl eingebe kommt nur:
Nothing written on outputfile Diplomarbeit.nls.
Ich glaube ich hab einen Fehler gemacht, als ich aus Versehen vor Schritt 2 compiliert habe!? Wenn ich Diplomarbeit.nls in Texnic öffne steht auch nichts mehr drin.
Wie kann ich das wieder beheben?
Vielen Dank im Voraus,
Martina
Hallo zusammen,
die Konsole öffnet ihr bei Windows-Betriebssystemen über Start->Ausführen. Tragt dann in die Zeile „cmd“ ein und das ganze mit enter bestätigen. Dann müsst ihr euch in euer Verzeichnis hanglen in der eure *.tex-Datei liegt. Das geht mit dem ‚cd‘-Befehl (z.B. > cd „Dokumente und Einstellungen“; >cd „meine Arbeit“). Wenn ihr da angekommen seid, könnt ihr dann den pdflatex-Befehl ausführen.
Hoffe, ich konnte helfen 😉
Grüße
Hallo,
Gibt es eine Möglichkeit weitere Kategorien zu definieren. Also weitere Präfixe mit den gewünschten Überschriften hinzuzufügen?
Bsp.:
\nomenclature[K]{$g$}{Erdbeschleunigung}{9,81}{$\left[\frac{m}{s^2}\right]$}%
Hierbei soll das Präfix “K” eine Kategorie mit den Namen “Konstanten” definieren. Der Name “Konstanten” soll natürlich im Symbolverzeichnis als Überschrift der KAtegorie angezeigt werden.
Vielen Dank und frohe Ostern,
Michi
Mit dem Package „nomencl“ funktioniert das ganze soweit. Probleme kriege ich nur, wenn ich das Package „nomentbl“ dazu nehme. Dieses Packet erlaubt die Darstellung des Symbolverzeichnisses im Longtable Format.
Hier ein Minimalbeispiel:
\documentclass{scrartcl}
\usepackage[latin1]{inputenc}
\usepackage[ngerman]{babel} % Sprache
\usepackage{nomencl}
\usepackage{longtable}
%\usepackage[german]{nomentbl}
\makenomenclature
% Segmentation
\RequirePackage{ifthen}%
\renewcommand{\nomgroup}[1]{%
\renewcommand{\makelabel}[1][]{##1}
\ifthenelse{\equal{#1}{K}}{\bigskip\item[\textsf{\textbf{Konstanten}}]}{}}%
\begin{document}
\printnomenclature
Die Erdbeschleunigung g ist eine Konstante.
\nomenclature[K]{$g$}{Erdbeschleunigung}{9,81}{$\left[\frac{m}{s^2}\right]$}%
\end{document}
Sobald die Zeile %\usepackage[german]{nomentbl} dazugeschaltet wird erscheinen bei der Kompilierung Fehlermeldungen.
Achtung: MakeIndex muss bei der Nutzung von „nomentbl“ folgendermaßen geändert werden:
-s nomentbl.ist „%bm.nlo“ -o „%bm.nls“
Die Fehlermeldung lautet:
„! LaTeX Error: Something’s wrong–perhaps a missing \item.
See the LaTeX manual or LaTeX Companion for explanation.
Type H for immediate help.
…
l.6 \multicolumn{3}{l}{\nomgroup{K}}“
Der Fehler tritt in der Datei Minimalbeispiel.nls auf.
Kann mir jemand bei dem Problem helfen?
Besten Dank im Voraus!
Problem gelöst!
\renewcommand\nomgroup[1]{%
\ifthenelse{\equal{#1}{A}}{%
\large{\textbf{Lateinische Buchstaben}}}{%
\ifthenelse{\equal{#1}{G}}{%
\large{\textbf{Griechische Buchstaben}}}{%
\ifthenelse{\equal{#1}{X}}{%
\large{\textbf{hochgestellte Indizes}}}{%
\ifthenelse{\equal{#1}{Z}}{%
\large{\textbf{Indizes}}}{%
\ifthenelse{\equal{#1}{K}}{%
\large{\textbf{Konstanten}}}{%
\ifthenelse{\equal{#1}{N}}{%
\large{\textbf{Kennzahlen}}}{%
{}}}}}}}}
Hallo Stefan,
obwohl ich blutige Latex Anfängerin bin, komme ich mit deiner Abkürzungsverzeichnis-erstell-Beschreibung eigentlich sehr gut klar. Ich hab die Präambel ergänzt und alles gemacht wie von dir beschrieben, mein Problem ist nun, dass die Konsole mir folgendes sagt, wenn ich -nlo in -nls umwandeln will
bash: makeindex: command not found
Woran könnte das liegen? Ich verwende TexShop/Mac OS X 10.4.11
Schon mal im Voraus Vielen Dank!
Hallo Katja,
das sieht so aus, als ob deine LaTeX-Installation MakeIndex nicht finden kann. Schau doch mal auf ctan.org nach, ob du das Paket nicht herunterladen und dann bei dir auf dem PC installieren kannst.
➡ http://www.ctan.org/tex-archive/indexing/makeindex
Hallo Stefan,
erstmal vielen Dank für deine schnelle Antwort, aber ich muss zugeben, dass ich damit an meine Grenzen komme. Runterladen und entpacken von ctan.org ist ja noch kein Problem, aber ich bin ehrlich, ich weiß dann überhaupt nicht was ich tun soll bzw. wie ich das installieren soll….
Hallo Katja,
wie man fehlende Pakete bei LaTeX einfügt, ist beispielhaft hier beschrieben:
➡ File `psfig.sty’ not found
Hallo Stefan,deine Tips sind wirklich sehr hilfreich! Leider sitze ich schon den ganzen Tag daran, ein AbkürzungsVZ zu erstellen. Es geht einfach nicht. Ich habe alles in die Konsole eingegeben (auch den richtigen Ordner, indem meine ganzen Dateien sind). Ich gebe folgendes ein:
H:\>cd c:\Documents and Settings\ich\Desktop\OrdnerderarbeitH:\>makeindex hauptdatei.nlo -s nomencl.ist -o hauptdatei.nlsInput index file hauptdatei.nlo not found.Usage: makeindex [-ilqrcgLT] [-s sty] [-o ind] [-t log] [-p num] [idx0 idx1 ...]
die Datei wird nicht gefunden, obwohl ich sie in dem Ordner sehe. Die glossary Variante von weiter oben hab ich auch schon erfolglos probiert.Mache ich was falsch?Danke im Vorraus!Die Seite hat mir den Tag gerettet!http://www.golatex.de/abkuerzungsverzeichnis-mit-texniccenter-datei-nls-fehlt-t4660.html
Hi,
ich habe für meine Arbeit einfach ein Latex-dokument bekommen inklusive aller Einstellungen, bin deswegen höchst unwissen und stelle deshalb die etwas kuriose Frage: Wie öffnet man die Konsole?
Mit Start-Ausführen konnte ich nix anfangen.
Vielen Dank
Hi,
Die Konsole bezieht sich in den Anleitung auf die Konsole unter Kubuntu. In Windows ist das die Eingabeaufforderung oder einfach Windows-Taste –> Ausführen –> cmd eingeben.
Klasse Anleitung – hat mir sehr geholfen!
Läßt sich übr. so noch automatisieren:
http://texwelt.de/wissen/fragen/4942/wie-kann-ich-die-erstellung-eines-abkurzungsverzeichnisses-mit-dem-paket-nomencl-automatisieren