Abkürzungsverzeichnis mit acronym

Posted by quark007 | Posted in LaTeX | Posted on 31-01-2011-05-2008

1

Nachdem ich in einem früheren Beitrag mich mit dem Abkürzungsverzeichnis schon einmal beschäftigt habe, bin ich nun auf ein weiteres Paket gestoßen, was meiner Meinung nach effektiver und auch umfangreicher ist. Es geht dabei um das acronym-Paket.

Ich war auf der Suche nach „anklickbaren“ Abkürzungen um nicht immer manuell auf die Seite des Abkürzungsverzeichnisses scrollen zu müssen. Google liefert da auch ein schönes Ergebnis, was leider nicht sonderlich schön verpackt ist! Daher möchte ich das Paket hier nochmal genauer Vorstellen.

Wie schön erwähnt, das Paket heißt acronym und lässt sich genauso einbinden, wie alle anderen Pakete auch. Um das Paket zu laden wird folgender Code in den Header geschrieben

\usepackage[]{acronym}

Als nützliche Optionen haben sich für mich die folgenden zwei herauskristallisiert:

  • printonlyused (nur auch benutzte Abkürzungen erscheinen)
  • withpage (die Seitenzahl auf der die Abkürzung das erste mal verwendet wurde erscheint)

Damit ist nun das Paket geladen und man kann sich dran machen, die gewünschten Abkürzungen zu definieren. Das funktioniert wie folgt:

\phantomsection \addcontentsline{toc}{section}{Abkürzungsverzeichnis}
\renewcommand\refname{Abkürzungsverzeichnis} \section*{Abkürzungsverzeichnis}
\begin{acronym}[NMWC] % längste Abkürzung steht in eckigen Klammern
    \setlength{\itemsep}{-\parsep} % geringerer Zeilenabstand
    \acro{krz}{kubisch raumzentriert}
    \acro{hdp}{hexagonal dichteste Packung}
    \acro{FRQ}{Frank-Read-Quelle}
\end{acronym}

Die ersten beiden Zeilen dienen dazu, dass das Abkürzungsverzeichnis im Inhaltsverzeichnis auftaucht und unter einer eigenen Section steht. Die Option des acronym-Bereichs gibt die längste aller Abkürzungen an. Danach wird die Breite der Spalte im Verzeichnis angepasst.

Der obige Code MUSS im Document-Bereich stehen, da an dieser Stelle ebenfalls direkt das Abkürzungsverzeichnis aufgerufen wird. Soll das Abkürzungsverzeichnis jedoch nicht als section sondern als chapter eingefügt werden, so muss lediglich die beiden ersten Zeilen durch diese ersetzt werden:

\phantomsection \addcontentsline{toc}{chapter}{Abkürzungsverzeichnis}
\renewcommand\refname{Abkürzungsverzeichnis} \chapter*{Abkürzungsverzeichnis}

Soll das Abkürzungsverzeichnis mit numeriert werden, einfach das Sternchen* nach \chapter bzw. \section entfernen.

Sind die Abkürzungen nun einmal definiert, so können sie im Text aufgerufen werden, was meiner Meinung nach extrem einfach funktioniert:

\ac{krz}

wobei in diesem Fall „krz“ für die Abkürzung steht. Acronym ist so konfiguriert, dass beim ersten Aufruf einer Abkürzung die volle Bezeichnung mit der Abkürzung in Klammern dahinter ausgegeben wird. Beim nächsten Aufruf erscheint nur noch die Abkürzug, die aber in beiden Fällen anklickbar ist.

Das Paket bietet aber noch viel viel mehr. So lassen sich von von Abkürzungen auch immer die Abkürzung anzeigen (\acs{krz}) oder die volle Bezeichnung (\acf{krz}) oder auch immer beides zusammen (\acl{krz}).

Der Vorteil, dass die Abkürzungen anklickbar sind, besteht jedoch nur, wenn auch das Paket hyperref geladen wurde. Da dieses Paket aber recht nützliche ist, auch um etwa Links in Literaturverzeichnissen oder auch im Text einzufügen, wird es kaum weh tun, dieses auch noch einzubinden.

Abschließend: natürlich ist es wie bei nomencl auch möglich, die Abkürzungen zu verdeutlichen, indem man die zur Abkürzung gehörigen Buchstaben in der vollen Bezeichnung unterstreicht. Das funktioniert entweder mit \markup (dazu muss allerdings ein extra Paket geladen werden) oder mit \underline (was jedoch angeblich Probleme mit dem Zeilenumbruch verursacht: mir noch nicht aufgefallen).

Hier noch ein paar Links euch vielleicht noch weiter helfen:

  • [LINK] Dokumentation zu acronym (für tiefergehende Befehle)
  • [LINK] (09.12.2010) Erklärung zum Einfügen in das Inhaltsverzeichnis
  • [LINK] zu meinem Beitrag über nomencl als Alternative zu acronym

TUDreport: leere Seite nach Titelblatt

Posted by quark007 | Posted in Fehler, LaTeX | Posted on 21-01-2011-05-2008

0

Bei der Erstellung einer Diplomarbeit gab es ein Problem: nach dem Titelblatt, wird eine leere Seite eingefügt, die eigentlich dazu dient, dass auf der Rückseite des Titelblattes kein Text erscheint sondern erst wieder auf der nächsten rechten Seite.

Das Problem wurde im Endeffekt von der Option „longdoc“ verursacht. Wird diese Option aus der Angabe der \documentclass entfernt, so wird die leere Seite nicht mehr eingefügt. Ist jedoch longdoc von Nöten, so muss man sich die Definition von Longdoc einmal genauer anschauen und den Part mit \openright entfernen.

So weit ich weiß, trifft das auf alle Dokumentenklassen zu, die mit dem KOMA Skript arbeiten.

Tabular/Longtable: !Misplaced \omit

Posted by quark007 | Posted in Fehler, LaTeX | Posted on 21-01-2011-05-2008

7

Folgender Fehler ergab sich mir, den ich beim googlen im Internet nicht erfolgreich gelöst bekam:

! Misplaced \omit.
\multispan ->\omit
\@multispan
l.1068 …-mechanismen (einzeln oder kombiniert)}} &    \textbf{Beispiel}    \\ \h…
I expect to see \omit only after tab marks or the \cr of an alignment. Proceed, and I’ll ignore this case.

Ich hatte mir schon gedacht, dass es um das \multicolumn{} ging, jedoch war ich auf einer falschem Fährte.

Nach dem Fehler wird ausgegeben, in welchem Abschnitt sich der Fehler befindet. Diese Angabe ist in diesem Fall aber irreführend. Der Fehler liegt vor dem Quellcode-Ausschnitt.

Der Fehler will sagen, dass vor einem \multicolumn{} oder auch \multirow{} kein weiterer Wert stehtn darf. Das soll heißen, dass vor \multicolumn{} bzw \multirow{} ein Spaltentrenner also & stehen muss oder eben eine neue Zeile angefangen worden sein muss.

Mich hat verwirrt, dass ich keinen \cr Fehler bekam, der normalerweise ausgegeben wird, wenn die Spaltenangaben der Tabelle nicht mit dem Inhalt der Tabelle übereinstimmen. Dieser Fehler kommt jedoch nicht, sodass ich EINIGE Zeit nach dem Fehler gesucht habe.

Package inputenc Error

Posted by quark007 | Posted in Fehler | Posted on 03-01-2011-05-2008

0

Beim kompilen meines aktuellen Projektes bekam ich den folgenden Fehler

! Package inputenc Error: Keyboard character used is undefined
(inputenc) in inputencoding 'latin1'.
See the inputenc package documentation for explanation.
Type H<return> for immediate help.

Zunächst dachte ich an ein Zeichen, dass meine Tastatur zwar kennt LaTeX aber nicht… Diese Vermutung stellt sich aber als falsch heraus.

Den bearbeiteten Text habe ich aus einem anderen PDF übernommen, also mit copy&paste übernommen. Was ich jedoch natürlich nicht bedacht habe, dass Bindestriche (Gedankenstriche) auch anders kodiert sein könnten. Nach ein wenig googlen habe ich meinen Fehler dann gefunden.

Gleiches gilt im Übrigen auch für Anführungszeichen die einfach so übernommen werden! Diese müssen in LaTeX nochmals neu eingegeben werden um die Kodierung korrekt zu gestallten.