LaTeX Abkürzungsverzeichnis nach Alphabet sortieren
Geschrieben von cartmen in Latex, Linux, tags: Abkürzung, Abkürzungsverzeichnis, acro, acronym, alphabetisch, Latex, Linux, nomencl, sortierenFür die Erstellung meiner Masterarbeit habe ich mich entschieden, für das Abkürzungsverzeichnis das Paket “acronym” zu verwenden und nicht wie bisher “nomencl”. Gründe dafür waren die einfachere Bedienbarkeit und eine effektivere Deklarierung und Verwendung.
Eingebunden wird das Paket mit dem folgenden Befehl, wobei die Option “printonlyused” besagt, dass ausschließlich Abkürzungen, die im Text verwendet werden, auch im Abkürzungsverzeichnis erscheinen.
\usepackage[printonlyused]{acronym}
Das Abkürzungsverzeichnis wird dann so erstellt:
% Kapiteldefinition ohne Nummerierung \chapter*{Abkürzungsverzeichnis} % Abkürzungsverzeichnis soll im Inhaltsverzeichnis erscheinen \addcontentsline{toc}{chapter}{Abkürzungsverzeichnis} \begin{acronym} % Format der Abkürzungsdefinition: \acro{}[]{} % {Verweis}[Abkürzung]{ausgeschriebene Abkürzung} \acro{umts}[UMTS]{Universal Mobile Telecommunications System} \acro{aci}[ACI]{Access Integrator} \acro{udp}[UDP]{User Datagram Protocol} \acro{ajax}[AJAX]{Asynchronous JavaScript and XML} \acro{adsl}[ADSL]{Asymmetric Digital Subscriber Line} \end{acronym}
Im Text verwendet man die Abkürzung dann in der Form
\ac{udp}
, worauf bei der ersten Verwendung die ausgeschriebene Abkürzung und das Kürzel in Klammern im Dokument erscheint. Bei jeder weiteren Verwendung wird dann nur das Kürzel ausgegeben.
Nun aber zum eigentlich Problem: Wenn man bei der Erstellung des Abkürzungsverzeichnisses nicht darauf achtet, die Einträge bereits in der korrekten alphabetischen Reihenfolge einzutragen, wird man sich am Ende, wie ich, ärgern, dass das Paket “acronym” die Einträge nicht sortieren kann. Auch eine längere Recherche ergab, dass man die Einträge selbst sortieren muss. Wer allerdings Linux als Betriebssystem nutzt, vermeidet in der Regel monotone und stumpfsinnige Arbeiten und schreibt sich lieber ein Script, dass die Aufgabe übernimmt. Dies ist hier noch nicht einmal notwendig, da der Linux Befehl “sort” alle nötigen Funktionen mitbringt. Ich habe dazu alle Abkürzungen in die Datei “abkuerzungen_master.tex” kopiert.
\acro{umts}[UMTS]{Universal Mobile Telecommunications System} \acro{aci}[ACI]{Access Integrator} \acro{udp}[UDP]{User Datagram Protocol} \acro{ajax}[AJAX]{Asynchronous JavaScript and XML} \acro{adsl}[ADSL]{Asymmetric Digital Subscriber Line}
Und dann mit dem Befehl Befehl unten die Einträge sortieren und in eine neue Datei ausgeben lassen.
sort abkuerzungen_master.tex -o abkuerzungen_sortiert.tex
In der Datei “abkuerzungen_sortiert.tex” stehen die Einträge in der korrekten Reihefolge und das Abkürzungsverzeichnis erscheint, wie gewünscht, alphabetisch sortiert.
Einträge (RSS)
Vielen Dank! Genau das was ich gesucht habe und funktioniert auf anhieb
Sehr gut!
Genau wonach ich gesucht habe.
Vielen Dank für die saubere und schöne Erklärung!
Grüße