Mit Latex acronym-Paket: \ac{} nur anders rum
Submitted by blizzzWenn man das Paket acronym in Latex nutzt, um die Abkürzungen zu erstellen und zu verwalten, erhält man den Befehl \ac{} mit. Dadurch wird beim ersten Nutzen der übergebenen Abkürzung die volle Bedeutung ausgeschrieben, dahinter wird in Klammern die Kurzform gesetzt. Bei jedem weiteren Male erscheint dann nur noch die Kurzform, zumindest bis man das ganze zurücksetzt.
Neben weiteren Funktionen, die nur die Kurz- oder Langform ausgeben oder ein Plural-s daran anhängen, gibt es im Paket jedoch keine Funktion mit dem selben Verhalten von \ac{}, die jedoch die Kurzform an den Anfang stellt und die Langform in Klammern dahinter. Dies kann man sich aber basteln.
\makeatletter \newcommand{\acr}{\protect\@acr}% \newcommand{\@acr}[1]{% \expandafter\ifx\csname ac@#1\endcsname\AC@used \acs{#1}% \else \acs{#1} (\acl{#1})% \global\expandafter\let\csname ac@#1\endcsname\AC@used \AC@addtoclearlist{#1}% \AC@logged{#1} \fi } \makeatother
Mit dieser Befehlsfolge (man sieht, dass es in einem \makeatletter-Bereich geschrieben werden muss) wird der Befehl \acr{} erstellt, der eben das gewünschte Verhalten nachahmt.
Comments
Frage
Die Kurzform dahinter sollte
Merci ersteinmal für deine
Hm... welche
Ich hatte ebenfalls das
\nobreakdash-
Funktionierte bei mir
Funktionierte bei mir (acronym Version vom 20.10.2009) problemlos, nachdem ich die Zeile
\AC@addtoclearlist{#1}
durch
\AC@addtoAC@clearlist{#1}
ersetzte.
Das ganze funktioniert auch für \acp wunderbar:
\makeatletter
\renewcommand{\acp}{\protect\@acp}%
\renewcommand{\@acp}[1]{%
\expandafter\ifx\csname ac@#1\endcsname\AC@used
\acs{#1}%
\else
\acsp{#1} (\aclp{#1})%
\global\expandafter\let\csname ac@#1\endcsname\AC@used%
\AC@addtoAC@clearlist{#1}%
\AC@logged{#1}
\fi
}
\makeatother
Viele Grüße
Jochen
Das ist eigentlich genau das,
Das ist eigentlich genau das, was ich gesucht habe. Allerdings hab ich ein sehr langes Acronym und da gibt es Probleme mit dem Zeilenumbruch
\acro{WAI}{Ein eindeutig zu langer Text, der dringend eines Zeilenumbruches bedarf, weil er sonst über den Rand hinaus reicht.}
Ich bin jetzt ein paar Jahre
Ich bin jetzt ein paar Jahre raus aus der Geschichte… aber müsste das dann nicht ein Problem von \ucl{} sein, was ja intern für die Ausgabe der Langform verwendet wird?
Add new comment