PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Auf eigenen Zähler referenzieren.



marxlechen
24-05-2013, 20:52
Hallo,
Ich habe mir einen eigenen Zähler defeniert, um ihn innerhalb einer tabular-umgebung benutzen zu können. Ich muss die einzelenn items belabeln und auf sie referenzieren können. Allerdings gibt es beim Überschreiben der Referenzierung ein Problem:
Ich hätte gerne, dass nur ("nummer") ausgegeben wird. Stattdessen wird irgendwie ("nummer")nummer ausgegeben. Warum?
Danke für die Hilfe...:)



\newcounter{zaehler}
\newcommand{\ding}{\refstepcounter{zaehler}(\theza ehler)}
\makeatletter
\renewcommand{\p@zaehler}{(\thezaehler)}
\makeatother

\begin{tabular}{c}
\ding\label{versuch}
\end{tabular}

\ref{versuch}

sommerfee
25-05-2013, 05:55
Ein Tipp vorweg: Um deinen Code ausprobieren und modifizieren zu können, muß jeder, der antworten möchte, erst einmal ein lauffähiges(!) Beispiel basteln. Es ist ein Akt der Höflichkeit, und erhöht die Chancen auf Antworten ungemein, wenn DU das machst. Für dich hat es weiterhin den Vorteil, daß du keine ungetesteten Codeschnipsel zurückbekommst, sondern ein ebenfalls lauffähiges Beispiel, an dem du die Änderung nachvollziehen und ggf. weiter herumspielen kannst.

Stichwort: Minimalbeispiel, siehe auch http://www.minimalbeispiel.de


Ich hätte gerne, dass nur ("nummer") ausgegeben wird. Stattdessen wird irgendwie ("nummer")nummer ausgegeben. Warum?

Bei einer Referenz wird \thezaehler konserviert und später bei \ref ausgegeben. \p@zaehler wird hierbei zusätzlich vorangestellt (und ist in Voreinstellung leer), so daß du in Summe "(nummer)nummer" erhälst, die Summe aus \p@zaehler und \thezaehler.

Wenn du sowohl bei der Beschriftung, als auch bei den Referenzen Klammern haben möchtest, kannst du stattdessen die Klammern in \thezaehler einbauen, zum Beispiel:



\documentclass{article}

\newcounter{zaehler}
\renewcommand{\thezaehler}{(\arabic{zaehler})}
\newcommand{\ding}{\refstepcounter{zaehler}\thezae hler}

\begin{document}
\begin{tabular}{c}
\ding\label{versuch}
\end{tabular}

\ref{versuch}
\end{document}

marxlechen
27-05-2013, 11:36
ahhhh
vielen lieben dank. ich dachte ich "überschreibe" mit \p@zaehler...
aber jetzt habe ich verstanden, wie das funktioniert.

nur noch eine frage: gibt es auch eine "ähnliche" sache, wie \p@zaeler, die nicht vor, sondern nach-stellt?

in zunkunft werde ich die beispiele lauffähig machen, Max:)

sommerfee
27-05-2013, 19:01
nur noch eine frage: gibt es auch eine "ähnliche" sache, wie \p@zaeler, die nicht vor, sondern nach-stellt?

Leider nein.