Eigenen Counter referenzieren

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


Fingolfin
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Mi 26. Aug 2009, 22:03

Eigenen Counter referenzieren

Beitrag von Fingolfin »

Hallo,

ich habe mir zwei counter definiert um anforderungen zu nummerieren, wobei der zweite an den ersten gekoppelt ist. Die Anforderungen erstelle ich dann mit den befehlen \requirement bzw. \subrequirement.

Die beiden Counter ...
\newcounter{req}
\newcounter{subreq}[req]
und die Definition der Befehle.
\newcommand{\requirement}[1]{%
\refstepcounter{req}
\arabic{req}~#1}

\newcommand{\subrequirement}[1]{%
\refstepcounter{subreq}
\arabic{req}.\arabic{subreq}~#1}
Bei der Verwendung tritt nun, folgendes Problem auf:
\requirement{A}
\requirement{B}
\subrequirement{a}
\subrequirement{b}
\label{b}
\ref{b}
Die Referenzierung von "b" liefert lediglich 2 und nicht die gewünschte 2.2 sowie es bei der Referenzierung eines Abschnitts der Fall ist. Weiß vielleicht jemand wie ich das erreichen kann?

sommerfee
Forum-Century
Forum-Century
Beiträge: 219
Registriert: Sa 12. Jul 2008, 08:02

Beitrag von sommerfee »

Bei jedem Zähler, der mit \newcounter definitiert wird, wird auch ein passendes \the... Makro mitdefiniert, welches für die Darstellung im Dokument und in Referenzen zuständig ist. Vorbelegt ist es auf \arabic{<Zähler>}. Durch Umdefinition von \thesubreq erreicht man also das gewünschte. Bei der Gelegenheit habe ich die Darstellung im Text auch gleich auf die \the...-Makros umgestellt, so daß die Darstellung im Text und in Referenzen immer gleich ist, egal wie \thesubreq definiert ist:
\documentclass{article}
\begin{document}

\newcounter{req}
\newcounter{subreq}[req]
\renewcommand\thesubreq{\thereq.\arabic{subreq}}

\newcommand{\requirement}[1]{%
  \refstepcounter{req}\thereq~#1}

\newcommand{\subrequirement}[1]{%
  \refstepcounter{subreq}\thesubreq~#1}

\requirement{A}
\requirement{B}
\subrequirement{a}
\subrequirement{b}
\label{b}
\ref{b}

\end{document}

Fingolfin
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Mi 26. Aug 2009, 22:03

Beitrag von Fingolfin »

Vielen Dank,

ich hätte nicht gedacht, dass es so einfach ist nachdem ich mich gestern den halben Tag damit herumgeschlagen habe ohne zu einem Ergebnis zu kommen.

Antworten