4
1

Ich möchte in einem Bericht ein Abkürzungsverzeichnis für den gesamten Bericht sowie bei jedem Kapitel ein entsprechendes Abkürzungsverzeichnisse, das nur die in diesem Kapitel verwendet Abkürzungen enthält.

Zum Erstellen von Abkürzungsverzeichnissen nutze ich das Packet acro.

Hier ein Minimalbeispiel, was noch nicht das gewünschte Ergebnis zeigt:

Open in Online-Editor
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{acro}

\DeclareAcronym{A}{
  short = A,
  long  = Abkürzung A}

\DeclareAcronym{B}{
  short = B,
  long  = Abkürzung B}

\DeclareAcronym{C}{
  short = C,
  long  = Abkürzung C}

\DeclareAcronym{D}{
  short = D,
  long  = Abkürzung D}

\begin{document}

\tableofcontents

% Formatierung des Abkürzungsverzeichnisses
\acsetup{
  list-type    = table ,
  list-style   = longtable ,
  list-heading = section* ,
  list-table-width = \textwidth-4\tabcolsep-6em
}

% Gesamtes Abkürzungsverzeichnis
\printacronyms

\section{Erstes Kapitel}
\printacronyms
Hier wird \ac{A} verwendet.
Hier wird \ac{B} verwendet.
Hier wird \ac{A} erneut verwendet.
Hier wird \ac{B} erneut verwendet.

\acresetall  % <--- Dachte es würde hiermit gehen, aber Pustekuchen :-)
\section{Zweites Kapitel}
\printacronyms
Hier wird \ac{C} verwendet.
Hier wird \ac{D} verwendet.
Hier wird \ac{C} erneut verwendet.
Hier wird \ac{D} erneut verwendet.

\end{document}

Wäre mein Vorhaben generell umsetzbar, eventuell sogar mit acro?

gefragt 16 Mär '16, 09:37

dzaic's gravatar image

dzaic
63194853
Akzeptiert-Rate: 42%

bearbeitet 16 Mär '16, 09:41


Diese Frage hat mich zu folgenden Neuerungen bei acro inspiriert, die seit v2.4 (2016/03/25) verfügbar sind:

  • Die class-Eigenschaft eines Akronyms kann nun mehrere Werte bekommen (class={A,B,C}), so dass Klassen effektiv wie Tags verwendet werden können.
  • Ein Befehl \acbarrier wird eingefügt, der an beliebigen Stellen im Dokument (z.B. nach Setzen von \section) eingesetzt werden kann. Verwendet man nun \printacronyms[local-to-barriers], dann enthält die Liste nur Akronyme, die zwischen den zwei \acbarriers verwendet wurden, zwischen denen die Liste aufgerufen wird. Beginn und Ende des Dokuments zählen als implizite Barrieren. Damit die Listen stimmen, muss ggf. mehrmals kompiliert werden – auf Warnungen und Hinweise im log achten!

Damit wäre es nun möglich, mit Hilfe des Pakets etoolbox bei jeder Section eine Barriere setzen:

Open in Online-Editor
\usepackage{etoolbox}
\preto\section{\acbarrier}

Das folgende Beispiel demonstriert die Verwendung:

Open in Online-Editor
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{acro}[2016/03/25]

\acsetup{
  list-heading = subsection* ,
  list-name = Abkürzungen dieses Kapitels ,
  % \acresetall bei Verwendung von \acbarrier Ausführen?
  % reset-at-barriers = true
}

\usepackage{etoolbox}
\preto\section{\acbarrier}

\DeclareAcronym{A}{
  short = A,
  long  = Abkürzung A
}

\DeclareAcronym{B}{
  short = B,
  long  = Abkürzung B
}

\DeclareAcronym{C}{
  short = C,
  long  = Abkürzung C
}

\DeclareAcronym{D}{
  short = D,
  long  = Abkürzung D
}

\begin{document}

% Gesamtes Abkürzungsverzeichnis
\printacronyms[heading=section*,name=Abkürzungen]

\section{Erstes Kapitel}
\printacronyms[local-to-barriers]

Hier wird \ac{A} verwendet.
Hier wird \ac{B} verwendet.

\section{Zweites Kapitel}
\printacronyms[local-to-barriers]

Hier wird \ac{A} verwendet.
Hier wird \ac{C} verwendet.
Hier wird \ac{D} verwendet.

\section{Drittes Kapitel}
\printacronyms[local-to-barriers]

Hier wird \ac{B} verwendet.
Hier wird \ac{D} verwendet.

\end{document}

alt text

Permanenter link

beantwortet 23 Mär '16, 21:24

cgnieder's gravatar image

cgnieder
22.1k243463
Akzeptiert-Rate: 60%

bearbeitet 30 Mär '16, 22:52

Sauber! Brauche ich auch bald... Jetzt habe ich dummerweise gerade vor Kurzem TeXLive neu aufgesetzt; aber ist vermutlich eh noch nicht bei CTAN - mal sehen, wie ich das am einfachsten Update (in meinem neuen Betriebsystem LinuxMint)

(30 Mär '16, 22:58) cis
2

@cis doch, auf CTAN ist die Version schon, und in TL auch (ich habe gerade ein Update gemacht und die neue Version wurde installiert)

(30 Mär '16, 23:00) cgnieder
1

@clemens, Herzlichen Dank für die Berücksichtigung dieses Wunsches.Falls wir uns mal sehen sollten, werde ich eine Kiste Bier spendieren. :-)

(31 Mär '16, 14:35) dzaic

@dzaic Wenn Du mal nach Tübingen kommst, sag Bescheid :)

(01 Apr '16, 11:35) cgnieder
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×11
×9

gestellte Frage: 16 Mär '16, 09:37

Frage wurde gesehen: 6,876 Mal

zuletzt geändert: 01 Apr '16, 11:35