PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Referenz auf Label eines Description Item



naphtali
08-05-2008, 23:18
Hallo,

folgendes Problem bereitet mit Kopfzerbrechen. In Zuge der Erstellung eines Pflichtenhefts mit LaTeX verwende ich einen Counter, der die Label meiner Description-Items dynamisch hochzählt: (Das folgende Beispiel ist aus der Luft gegriffen)

\newcounter{c_pf}
\setcounter{c_pf}{90}
\begin{description}

\setcounter{c_pf}{\value{c_pf} + 10}
\item[/PF\arabic{c_pf}/] \label{pf_rollen} \textbf{Rollen} \\
TextTextTextTextTextTextTextTextTextText

\setcounter{c_pf}{\value{c_pf} + 10}
\item[/PF\arabic{c_pf}/] \textbf{Berechtigungen} \\
TextTextTextTextTextTextTextTextTextText

...
\end{description}


Nun möchte ich an einer beliebigen Stelle meines Dokuments eine Referenz herstellen, welche im Dokument dann als das Label des Items angezeigt wird, also in etwa:

vergleiche auch \ref{pf_rollen} , wobei dann im Text in diesem Beispiel "/PF100/" stehen soll, also dass, was oben dynamisch als Label des Items generiert wird.

Ich befürchte, dass dies nicht mir LaTeX umsetzbar ist, versuche nun dennoch mein Glück in diesem Forum.

Viele Dank für jegliche Hinweise,
Tino

voss
09-05-2008, 11:01
folgendes Problem bereitet mit Kopfzerbrechen. In Zuge der Erstellung eines Pflichtenhefts mit LaTeX verwende ich einen Counter, der die Label meiner Description-Items dynamisch hochzählt: (Das folgende Beispiel ist aus der Luft gegriffen)

\newcounter{c_pf}
\setcounter{c_pf}{90}
\begin{description}

\setcounter{c_pf}{\value{c_pf} + 10}
\item[/PF\arabic{c_pf}/] \label{pf_rollen} \textbf{Rollen} \\
TextTextTextTextTextTextTextTextTextText

\setcounter{c_pf}{\value{c_pf} + 10}
\item[/PF\arabic{c_pf}/] \textbf{Berechtigungen} \\
TextTextTextTextTextTextTextTextTextText

...
\end{description}


Nun möchte ich an einer beliebigen Stelle meines Dokuments eine Referenz herstellen, welche im Dokument dann als das Label des Items angezeigt wird, also in etwa:

vergleiche auch \ref{pf_rollen} , wobei dann im Text in diesem Beispiel "/PF100/" stehen soll, also dass, was oben dynamisch als Label des Items generiert wird.

Ich befürchte, dass dies nicht mir LaTeX umsetzbar ist, versuche nun dennoch mein Glück in diesem Forum.




\makeatletter
\def\Setcounter#1#2{\addtocounter{#1}{#2}%
\protected@edef\@currentlabel
{\csname p@#1\endcsname\csname the#1\endcsname}%
}
\makeatother
...
\Setcounter{c_pf}{10}
\item[/PF\arabic{c_pf}/]
\textbf{Berechtigungen} \\
TextTextTextTextTextTextTextTextTextText

Herbert

naphtali
09-05-2008, 11:43
Hallo Herbert,

vorab danke für deinen Tipp. Leider erhalte ich nun jedoch ein Fehler beim Übersetzen.

Ich habe dein \dev aufgenommen und meine Items der Description entsprechend angepasst.

Der resultierende Fehler ist:

You can't use a prefix with `the character @'. \Setcounter{c_pf}{10}

gefolgt von

Something's wrong--perhaps a missing \item. \item[/PF\arabic{c_pf}/]

Mein LaTeX Code ist:



%...initialer Kram, Section usw.
\newcounter{c_pf} %counter anlegen
\setcounter{c_pf}{90} %counter initial auf 90 setzen

\begin{description} %Listumgebung (description)

%... es folgen einige Items, der Counter wird erhöht

\Setcounter{c_pf}{10}
\item[/PF\arabic{c_pf}/]
\textbf{Löschen von Organisationseinheit}\\
Der Administrator kann angelegte Organisationseinheiten
[...] verbleiben bis zur endgültigen Löschung
(vgl. \ref{pf_endloes}) noch im System.

%... es folgen einige Items, der Counter wird erhöht

\Setcounter{c_pf}{10}
\item[/PF\arabic{c_pf}/] \label{pf_endloes}
\textbf{Endgültiges Löschen}\\
Zur Löschung markierte Daten können endgültig [...]

\end{description}


Mein Ziel ist es nun, dass die Referenz im hier zuerst gelisteten Item lautet "(vgl. /PFxyz/)", wobei xyz genau der Wert ist, welchen der counter c_pf beim als zweites hier gelisteten Item hat.

Sollte deine Idee genau dies ermöglichen, dann wäre ich dir sehr dankbar, wenn du einen Tipp geben könntest, wie der nun entstehende Fehler beseitigt werden kann.

Viele Grüße,
Tino

voss
09-05-2008, 12:03
Leider erhalte ich nun jedoch ein Fehler beim Übersetzen.


siehe Änderungen oben.

Herbert

naphtali
09-05-2008, 12:13
Bin beeindruckt - vielen Dank, nun geht es und das Ergebnis stimmt.

Grüße,
Tino