Abkürzungsverzeichnis mit LaTeX

Ich sitze gerade an der Formatvorlage für FHWT-Arbeiten und habe versucht, ein Abkürzungsverzeichnis einzufügen. Das gestaltete sich etwas umständlich, aber ich habe es jetzt endlich hinbekommen:

  1. Das Paket nomencl ist zum Erstellen eines Abkürzungsverzeichnisses vorgesehen, also sollte es installiert werden.
  2. Auf dieser Seite habe ich dann den LaTeX-Code zum Erstellen und Formatieren eines Abkürzungsverzeichnisses gefunden:
    1. \\usepackage{nomencl}
    2. \\let\\abbrev\\nomenclature
    3. \\renewcommand{\\nomname}{Abkürzungsverzeichnis}
    4. \\setlength{\\nomlabelwidth}{.25\\hsize}
    5. \\renewcommand{\\nomlabel}[1]{#1 \\dotfill}
    6. \\setlength{\\nomitemsep}{-\\parsep}
  3. Im Text oder an beliebiger Stelle (z.B. direkt vor dem Befehl zur Ausgabe des Abkürzungsverzeichnisses) können dann mittels folgendem Code die einzelnen Einträge definiert werden: \\nomenclature[prefix]{symbol}{description}. Dabei kann anstatt \nomenclature auch \abbrev verwendet werden, da dieser Befehl im Code unter Punkt 2 definiert wurde.
  4. An der gewünschten Stelle kann dann mit dem folgenden Befehl das Abkürzungsverzeichnis in das Dokument eingefügt werden: \printnomenclature. Wichtig: Damit die Liste der Abkürzungen überhaupt erstellt wird, muss vor dem Inhalt des Dokuments der Befehl \makenomenclature aufgerufen werden!
  5. Nun muss nur noch der Index generiert werden: Und hier kam es bei mir zu einem Fehler, da die Datei nomencl.ist nicht gefunden wurde. Dies ließ sich jedoch einfach durch ein Kopieren der Datei aus dem nomencl-Installationsverzeichnis in den Dokumentordner bzw. Angabe des vollständigen Pfades zur Datei beheben.
  6. Zum Schluss habe ich noch das Generieren des Index im TeXnicCenter als Postprozessor eingestellt, damit nicht jedesmal der Befehl auf der Kommandozeile ausgeführt werden muss (Beschreibung siehe hier). Man beachte die Hervorhebungen: Bei der aktuellen Version haben die Dateien für den Index eine andere Endung: n statt g.
    „%bm“.nlo -s nomencl.ist -o „%bm“.nls
  7. Zuletzt musste dann noch das Abkürzungsverzeichnis als Eintrag im Inhaltsverzeichnis erscheinen. Das geht recht einfach über die Option intoc, die an \usepackage angehängt werden muss (von Seite 9 des Handbuchs):
    1. \\usepackage[intoc]{nomencl}

Über uns Stefan

Polyglot Clean Code Developer

93 Kommentare

  1. @Melanie: Und du hast auch makeindex nach dem Kompilieren laufen lassen und dann erneut kompiliert, ja?

  2. @ stefan: wie lasse ich makeindex laufen? 😉
    danke

  3. Moin,

    habe manuell grad ein Abk.verz. erstellt.
    Einfach \addchap{Abkürzungsverzeichnis}
    %so kommt ein chapter ohne nummerierung ins inhaltsverzeichnis

    und die einträge über tabbing hinzugefügt..
    sieht alles gut aus, ausser dass zwischen den leerräumen der einträge keine punkte sind wie im inh.verz.
    mit \hdotfill hab ichs nicht hinbekommen. oder vllt auch an falsche stelle geschrieben. hat jmd einen rat?
    vielen dank..

  4. @Selim: Sorry, du verfolgst den falschen Ansatz. Du baust dir das Verzeichnis ja quasi manuell zusammen. Nutze besser das Package wie oben angegeben.

  5. Genau.. 😉 Mit dem Paket oben habe ich das gleiche Problem wie Melanie..Könntest du mir nochmal helfen??
    Danke!

  6. Kleine Anmerkung: Ab MikTeX 2.9 muss man „%tm.nlo“ -s nomencl.ist -o „%tm.nls“ als Aurgumente übergeben. Sonst funktioniert es nicht. Soweit ich das verstanden habe, geht das auf eine Änderung in makeindex zurück, dass nun nur noch relative Pfade akzeptiert.

  7. PS: Deine Serverzeit geht falsch. 😉

  8. ich hab miktex 2.8…

  9. Hallo,
    ich brauche euere Hilfe.
    Bei mir erscheint jedesmal in PDF nur
    Abkürzungsverzeichnis
    Abbr ……….. Abbreviation

    Meine Abkürzungen werden leider nicht angezeigt. Ich weiß nicht woher Abbr kommt. Habe das nirgendswo in den tex-Dateien.

    Benutze MikTex 2.8 und TexnicCenter. Habe auch schon unter Ausgabe–>Ausgabe Profil den Befehl „%bm“.nlo -s nomencl.ist „%bm“.nls eingegeben, hat leider nix gebracht.

  10. Halle Leute…ich bräuchte auch mal hilfe, weil ich mein abkürzungsverzeichnis einfach nicht zum laufen bekomme…ich hab alles ordnungsgemäß deklariert und es läuft auch alles so weit, jedoch kann latex bei der übergabe via makeindex weder bm.glo noch bm.nlo finden…wie kann ich denn die dateien generieren? hier mal mein quellcode…

    \documentclass[fleqn,a4paper,11pt]{report}
    .
    .
    .

    %ABKÜRZUNGSVERZEICHNIS
    \usepackage[intoc]{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

    \begin{document}
    .
    .
    .
    \newpage
    \printnomenclature
    .
    .
    .
    \end{document}

    ein beispiel hab ich natürlich auch verwendet \nomenclature{PEG}{Polyethylenglykol}
    vielen dank schon mal im voraus

  11. hab weiter rumgespielt…jetzt hab ich „%bm“.glo -s nomencl.ist „%bm“.gls eingesetzt und er findet diploma.glo nicht…

    need help

  12. Hallo Stefan,

    erstamal herzlichen Dank für Deine Vorlage für die Masterarbeit und die Anleitung für das Abkürzungsverzeichnis.
    Ich habe jedoch noch ein letztes Problem. Was muss ich unter Punkt 6 genau machen? Ich nutze unter Ubuntu als Latex Editor gedit mit Latex Plugin.

    Wie muss ich also den Befehl “%bm”.nlo -s nomencl.ist -o “%bm”.nls
    anwenden?
    Muss ich den Befehl direkt in das Dokument schreiben?

    Lass ich „%bm“ einfach so stehen, oder setze ich für die Variablen was ein? Wenn ja, in welcher Form und was? Etwa so: „Masterarbeit“.nlo?

    Vielen Dank schon mal im Voraus für Deine Hilfe!

  13. @Magnus: Wo man im gedit den Befehl eingeben muss kann ich dir leider nicht sagen. Da musst du mal ein wenig in den Einstellungen suchen.

  14. Hallo,
    ist es möglich die Überschrift Abkürzungsverzeichnis als \section zu definieren?
    beste Grüße

  15. @Andi: Nicht dass ich wüsste. Die wird ja automatisch vom zugehörigen Befehl generiert. Aber Google ist dein Freund 🙂

  16. Hallo,

    die automatische Generierung des Abkürzungsverzeichnises funktioniert super.

    Meine Frage: Gibt es eine Möglichkeit das doppelte Aufführen von Abkürzungen zu vermeiden? Es kann ja vorkommen das man versehentlich manche Nomen doppel deklariert.

    grüße

    Björn

  17. @Björn: Ich habe die Einträge nicht im Fließtext definiert, sondern in einer separaten Datei (ich weiß, nicht ganz optimal). In der (sortierten) Datei sehe ich direkt, ob Einträge doppelt vorhanden sind.

  18. 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

  19. @Stefan: Mit dem Package „nomencl“ funktioniert das ganze. 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} %MakeIndex: „%bm“.nlo -s nomencl.ist -o „%bm“.nls
    \usepackage{longtable}
    %\usepackage[german]{nomentbl} %für das Symbolverzeichnis im Longtable-Format MakeIndex: -s nomentbl.ist „%bm.nlo“ -o „%bm.nls“

    \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!

  20. 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}}}{%
    {}}}}}}}}

  21. Hallo Stefan,

    ich bin beim „googeln“ auf deine wirklich super Vorlage gestoßen. Leider sind bei mir in der Umsetzung zwei Probleme aufgetreten:
    Zum einen wird das Abkürzungsverzeichnis nicht angezeigt. Ich habe mich bei der Umsetzng an obige Anleitung versucht zu halten (Ist %bm der richtige Name des Postprozessors?), allerdings erscheint das Verzeichnis beim kompilieren nicht (ich erhalte allerdings auch keine Fehlermeldung).

    Mein zweites Problem ist, dass

  22. Hallo Stefan,

    ich bin beim „googeln“ auf deine wirklich super Vorlage gestoßen. Leider sind bei mir in der Umsetzung zwei Probleme aufgetreten:
    Zum einen wird das Abkürzungsverzeichnis nicht angezeigt. Ich habe mich bei der Umsetzng an obige Anleitung versucht zu halten (Ist %bm der richtige Name des Postprozessors?), allerdings erscheint das Verzeichnis beim kompilieren nicht (ich erhalte allerdings auch keine Fehlermeldung).

    Mein zweites Problem ist, dass Abbildungs- & Tabellenverzeichnis zwar erscheinen, jedoch im Inhaltsverzeichnis kein Eintrag hiervon erscheint.

    Vielleicht hast du ja eine Idee, wie man meine beiden Probleme beheben kann.

    Beste Grüße,

    Florian

  23. Abkürzungsverzeichnis mit Einrückung (leichter Abstand links):

    \renewcommand{\nomlabel}[1]{\hspace*{1.5em}#1 \dotfill}
  24. Nachdem ich eine halbeEwigkeit gesucht habe hab ich mein Formelverzwichnis zum laufen gebracht.

    Hier meine Lösung für alle die das selbe Problem haben:

    Das Argument unter 6. musste bei mir wie folgt lauten:
    „%bm“.nlo -s nomencl.ist -t „%tm“.nlg -o „%tm“.nls

    wichtig ist das „%tm“ statt „%bm“ für transcript und output verwendet wird. Ohne die transcript Datei hats bei mir auch nicht funktioniert.

  25. Wow! Danke Korbinian. War genau mein Problem…

  26. Hey,
    ich verwende ebenfalls die SUPER -Vorlage von Stefan. wenn ich das nun richtig verstanden habe muss ich an dieser Vorlage „nur noch“ meine Latex-Einstellung ändern. Nur ist es so, egal was ich dortfür von den oben genannten Einträge reinsetzte, passiert rein garnichts – nicht einmal eine Fehlermeldung kommt.

    Somebody nows a answer?

  27. Hallo Lisi. Wo genau hast du denn welche Einstellungen geändert? Welchen Editor verwendest du und was willst du erreichen?

  28. Ich habe eine Frage. Ich bin auch nicht unbedingt ein Experte, aber bei meinem Abkürzungsverzeichnis werden keine Seitenzahlen angezeigt! Ich verzweifle langsam dran und weiß nicht woran es liegen kann! Bitte um hilfe:
    \usepackage{nomencl,ifthen}
    % Befehl umbenennen in abk
    \let\abk\nomenclature
    % Deutsche Überschrift
    \renewcommand{\nomname}{Abkürzungsverzeichnis}
    % Zeilenabstände verkleinern
    \setlength{\nomitemsep}{-\parsep}
    % descriptions to the right margin ———————————–
    \newcommand{\nomunit}[1]{\renewcommand{% <—adaptiert gem.
    % \nomentryend}{\hspace*{\fill}#1}}% <—manual_5.2
    \nomentryend}{\dotfill\hspace{.5em}#1}}%<—page_11
    \makenomenclature

    \begin{document}

    \pagenumbering{roman} % Bis zum eigentlichen Beginn klein-römisch nummeriert,

    \pdfbookmark[1]{Titelseite}{title}

    \begin{spacing}{1.05}
    \maketitle % Titelseiten erstellen
    \pagestyle{empty} % Keine Kopfzeilen, Seitenzahlen
    \input{kapitel/danksagung}
    \cleardoublepage
    \pagestyle{plain} % keine Kopfzeilen
    \pdfbookmark[1]{Inhaltsverzeichnis}{toc}
    % mehr Platz für die Seitenzahl…
    \cftsetpnumwidth{4.4em}
    \cftsetrmarg{5em}
    \tableofcontents % Inhaltsverzeichnis
    \cleardoublepage
    \pdfbookmark[1]{Abbildungsverzeichnis}{lof}
    \listoffigures % Abbildungsverzeichnis
    \cleardoublepage
    \pdfbookmark[1]{Tabellenverzeichnis}{lot}
    \listoftables % Tabellenverzeichnis
    \cleardoublepage
    \pdfbookmark[1]{Abkürzungsverzeichnis}{lol}
    \printnomenclature
    \cleardoublepage

    \end{spacing}

  29. Hallo Waldi. Sorry, wieso brauchst du bei einem Abkürzungsverzeichnis Seitenzahlen? Die Abkürzungen können doch auf mehreren Seiten verwendet werden. Oder meinst du die Seitenzahl in der Fußzeile?

  30. Oh, da habe ich mich ungenau ausgedrückt. Es geht um die römischen Seitenzahlen in der Fußzeile!

  31. Hey Stefan,

    naja wenn ich das richtig verstehe muss ich doch diesen Postprozessor „erstellen“, so habe ich das mal bei deiner Anleitung unter Punkt 5 verstanden. Ich habe das “%bm”.nlo -s nomencl.ist -o “%bm”.nls unter Anwendung eingegeben, Darauf hin habe ich keine Veränderung in dem Dokument erkennen können.
    Dann hatte ich irgendwo gelesen, dass ich dem neuen Postprozessor den einen Namen geben muss. Ich habe Glossar, so wie du in deiner Vorlage für das Dokument für das Abkürzungsverzeichnis benannt hast (Inhalt\glaossar), eingegeben. Darauf hin konnte zwar das Dokument erstellt aber nicht mehr betrachtet werden.

    Erreichen will ich ein ganz einfaches Abkürzungsverzeichenis. Arbeite mit Miktex 2.9 –TeXnic-Center

  32. Hallo Lisi. Wie hast du denn den Postprocessor eingetragen? Schon das hier gelesen? s.o., s.o.

  33. Für mich hat die o.g. Lösung im TeXnic Center nicht funktioniert. Alternativ habe ich im Postprocessor „makeindex“ das Argument

    “%tm”.nlo -s nomencl.ist -o “%tm”.nls

    verwendet. Funktioniert auch.

    -lgp

  34. Lieber Stefan,
    wie hoch ist die Wahrscheinlichkeit dich nach Stuggi zu locken?
    Es gibt hier gute Mojitos, Dissen…..??

    But back to topic:
    Latex sagt einfach nur: Can´t creat output Files: …\Diplomarbeit.ind.
    Usage: …\MiKTeX2.9\miktex\bin\makeindex.exe [-ilqrcgLT][-s sty][-o ind][-t log][-p num][idx0 idx1]…..

    und wenn ich das: “%bm”.nlo -s nomencl.ist -o “%bm”.nls mit oder ohne Anführungszeichen eingebe
    kommt zusätzlich,
    Can´t creat output Files: …\Diplomarbeit.nls.
    Usage: …\MiKTeX2.9\miktex\bin\makeindex.exe [-ilqrcgLT][-s sty][-o ind][-t log][-p num][idx0 idx1]…..

    In den Postprozessor habe ich eben die Anwendung
    …\MiKTeX2.9\miktex\bin\makeindex.exe
    ausgewählt und bei Argumente
    “%bm”.nlo -s nomencl.ist -o “%bm”.nls
    eingefügt.

    Stuttgart hat auch noch viele schöne andere Dinge zu bieten 🙂

  35. Hallo Lisi. Norddeutschland hat auch Vorteile 😉 Versuch doch mal die Konfiguration von phil zwei Einträge hier drüber.

  36. Stefan, Phil…. könnt auch beide gerne kommen 🙂

    DANKE!!!! Freuden Tanz!!! It Works!!!

  37. Moin zusammen, ich muss leider nochmal nerven, da ich das Problem einfach nicht gelöst kriege! Erstmal die Wiederholung meiner Frage:

    \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

    Nun nochmal das Problem: Unter meinem Abkürzungsverzeichnis, welches einwandfrei funktioniert, wird keine Seitenzahl angezeigt! Hat irgendwer eine Lösung für mich???

  38. Den Fehler „Can’t create output index file“ behebt man, indem man %tm anstelle von %bm benutzt.
    (was hier schon mehrfach beschrieben wurde, aber bisher ohne Verbindung zu der Fehlermeldung)

  39. Außerdem sollte man die Anführungsstriche erneut eingeben, denn die „“ hier sind andere.

  40. air jordan shoes cheap Document that underneath this intending, „You be aware that you might be acquiring good old if… “

    As with, you already know are really acquiring good old if you release the personal unsecured hockey footwear that is over the age of most of present day NBA competitors.
    Previous Bull Michael jordan Jordan is going to do just simply that will if they declines his or her the twentieth wedding anniversary Weather Jordans through NBA All-Star weeks time upon February. nineteen.

    Jordan’s footwear in the past include pressed this area with engineering as well as style, nevertheless the $175 Weather Jordan XX could be more on the homage when compared with neighborhood trendy.

    Artist Tinker Hatfield–who designed each and every Weather Jordan on the finally on the fifteenth installment–came way up using the plan to share with Jordan’s lifetime account by laser-etched paintings within the AJXX’s buckskin as well as nubuck top, in accordance with Theresa Tran, overseer with marketing and sales communications intended for Brand name Jordan.

    air jordan shoes for cheap Hatfield as well as Make Cruz, the imaginative overseer during Nike, previously worked carefully upon creating this paintings appear like the Oriental tapestry.

    So, paintings really possesses that means. Just about every bit connotes a number of feature with a number of Jordan’s lifetime and also profession, yet a number of symbols–such for the reason that „178“ icon–reflect individual encounters Jordan dropped to talk about freely, Tran affirms.

  41. Hallo zusammen,
    mein Abkürzungsverzeichnis funktioniert wie es soll. Ich habe aber das Problem das es im Inhaltsverzeichnis fett abgedruckt wird (wie mit dem Befehl \chapter). Ich hätte es gern so dargestellt wie das Literaturverzeichnis, das Abbildungsverzeichnis welche in Normalschrift dargestellt werden. Kann mir da jemand helfen?

  42. Very nice information that you have got over here.
    I am really impressed and looking forward to reading more of the stuff.

    We are sellers of grass reinforcement mesh in UK

Schreibe einen Kommentar

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

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax