LaTeX: acronym für Formelverzeichnis mit Einheiten versehen

Nutzt man acronym für das Erstellen eines Abkürzungsverzeichnisses, dann lassen sich standardmäßig bei der Definition mit \acro nur 3 Parameter übergeben, in denen keine Einheit vorgesehen ist:

\section*{Abkürzungsverzeichnis}
\begin{acronym}[LONGEST]
  \acro{KÜRZEL}{ABKÜRZUNG}{BESCHREIBUNG}
  % ...
\end{acronym}

In der PDF-Ausgabe sieht diese Eingabe dann wie folgt aus:

acronym

Um nun bei Formelzeichen auch eine Einheit hinter die Abkürzung einfügen zu können, muss man sich den Befehl \makebox und das von Acronym bereitgestellte \acroextra zu nutze machen:

\acro{KÜRZEL}[ABKÜRZUNG]{\acroextra{\makebox[18mm][l]{\si{ EINHEIT }}}BESCHREIBUNG}

Vereinfachen lässt sich diese Eingabe noch durch Erstellen eines eigenen Befehls \acrounit im Kopfbereich des LaTeX-Dokuments:

\newcommand{\acrounit}[1]{
  \acroextra{\makebox[18mm][l]{\si[per=frac,fraction=nice]{#1}}}
}

Dieser Befehl wird dann vor der Beschreibung eingefügt und dazu ein Parameter übergeben, was der Einheit des Formelzeichens entspricht. Zu beachten ist allerdings, dass hierfür noch das Paket siunitx benötigt wird! Die vereinfachte Eingabe sieht dann wie folgt aus:

\section*{Formelverzeichnis}
\begin{acronym}[LONGEST]
  % Allgemein:
  \acro{KÜRZEL}[ABKÜRZUNG]{\acrounit{SI-EINHEIT}BESCHREIBUNG}
  % Als Beispiele:
  \acro{A}[\ensuremath{A}]{\acrounit{\meter^2}Oberfläche}
  \acro{Rth}[\ensuremath{R_\mathrm{th}}]{ \acrounit{\kelvin\per\watt}Thermischer Widerstand}
  % ...
\end{acronym}

Und man erhält daraus die Ausgabe:

acronym_extended

Was tun, wenn die Beschreibung mehrzeilig ist?

Ist der Beschreibungstext länger als die Seitenbreite, dann bricht dieser um. Das Unschöne daran: die zweite Zeile wird unter die Einheit geschoben.

Um dem entgegenzuwirken kann man etwas „tricksen“. Die Breite der Abkürzungsspalte einfach etwas verbreitern und anschließend die Einheit mit einem negativen \hspace{-21mm} wieder nach links schieben. Die Einheit hängt somit über der Abkürzungsspalte und der Beschreibungstext kann ganz normal umbrechen. Beim negativen Wert (hier -21 mm) muss man etwas spielen, da die Breite abhängig vom Text (im nachfolgenden Beispiel „LONGESTLONGEST“) ist. Hier der abgeänderte Code dazu:

\newcommand{\acrounit}[1]{
  \acroextra{
    \hspace{-21mm}\makebox[18mm][l]{\si[per=frac,fraction=nice]{#1}}
  }
}

\section*{Formelverzeichnis}
\begin{acronym}[LONGESTLONGEST] % hier die breitere Abkürzungsspalte
% ...

So sieht die Ausgabe dann aus:

acrounit_linebreak

22 comments on “LaTeX: acronym für Formelverzeichnis mit Einheiten versehen

  1. Danke! Genau sowas habe ich gesucht! Allerdings funktioniert es bei mir erst, wenn ich die Option [per=frac,fraction=nice] in der Definition von acrounit weglasse…

  2. @Patrick: Hab leider gerade kein LaTeX zur Hand, aber hast du das griechische Symbol auch in \ensuremath{} gesetzt?
    \ensuremath{\alpha} sollte gehen!

    Und wenn es das „A“ bei \acro{} ist, dann ist dies auch nur ein Kürzel, auf das im Text verwiesen wird. Hier dürfte ein griechisches Zeichen nicht funktionieren.

  3. ah alles klar…also das acro is nur für die Referenz im Text…danke für die Hilfe, so gehts:

    \acro{s}[\ensuremath{\sigma}]{\acrounit{\newton\per\meter^2}Zugspannung}

  4. wenn ich die erste Methode wähle (da ich auf mehreren Systemen schreibe ist mir diese lieber) bekomme ich eine Fehlermeldung. ist es sicher das diese Methode funktioniert?

  5. Hallo bei mir kommt immer die Fehlermeldung
    Undefined control sequence.
    \acrounit
    {m^2}Fläche
    l.118 …A}[\ensuremath{A}]{\acrounit{m^2}Fläche}

  6. Funktioniert bei mir gut, allerdings erhalte ich durch den Zusatzkommande [LONGEST] folgende Meldung:

    Description Resource Path Location Type
    \begin{AC@deflist} on input line 46 ended by \end{acronym}. \end{acronym} (followed by: ) verzeichnisse.tex /doc/extras line 50 Texlipse Build Error

    Angezeigt wird alles tadellos, lasse ich [LONGEST] weg, rückt die zweite Spalte stark nach links, dafür ist allerdings die Fehldermeldung weg.

  7. hallo und danke für diesen Beitrag. Funktioniert soweit ganz gut, doch wird bei mir in der pdf-datei nicht die Einheit angezeigt. also der Befehl nach \acrounit{Einheit} wird nicht gelesen? Denn der Platz durch makebox ist vorhanden

  8. Hallo,
    eine tolle Anleitung nur leider hat sich die Version von siunitx bereits geändert und so musste auch ich per=frac,fraction=nice weglassen damit es funktioniert.

    Jetzt aber zu meiner Frage: was muss ich ändern damit die Einheit nicht als zweites sondern als letztes steht? Am besten so das die Beschreibung die restliche Seitenbreite voll ausnutzen kann und ich die Einheitenbreite mit den 18mm verändern kann.

    Gruß Andreas

  9. \acro{TNF-a}[TNF-\ensuremath{\alpha}]{tumor necrosis factor-alpha}
    \acro{NF-kB}[NF-\ensuremath{\kappa}B]{nuclear factor kappa-light-chain-enhancer of activated B-cells}
    PDF:
    TNF-? tumor necrosis factor-alpha
    NF-?B nuclear factor kappa-light-chain-enhancer of activated B-cells

  10. Tolle Anleitung! Sie hat mir sehr geholfen 🙂

    Ich habe eine Frage zur Formatierung: Ich benutze viele Symbole, für die ich eine längere Erläuterung brauche. Der Text nach dem Zeilenumbruch rutscht dann nach links mit unter die Einheit. Hast du einen Tipp, wie ich das umgehen kann? Danke schon mal!

  11. Hallo Caro! Du hast Glück, ich habe mich die letzten Tage gerade mit LaTeX beschäftigt 😉

    Mit etwas zusätzlichem Code sollte das gehen, was du möchtest. Ich habe den Beitrag entsprechend angepasst (siehe letzter Abschnitt).

    Hoffe, das hilft dir weiter.

Schreibe einen Kommentar

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