************************************************** **************
GELÖST (siehe letzter Post)
************************************************** **************
Hi,
ich habe weniger Probleme mit der Definition eines neuen Befehl, vielmehr
mit den Argumenten.
Der Kontext: Ich schreibe gerade ein Pflichtenheft. Ich habe mir eine
neue Umgebung für die Produkt-Funktionen gebaut, die die Funktionen
mit /F 00x/ nummeriert. Das funktioniert einwandfrei, bloss möchte
ich, sobald ich über \ref{} auf eine Funktion verweise, auch im Text
"/F 00x/" stehen haben.
Aber erstmal die relevanten Code-Ausschnitte:
Hauptdatei:
Code:
\usepackage{fmtcount} % Brauch ich, um Counter zu manipulieren
% counter müssen (anscheinend ?) in der Haupt-Datei definiert werden.
\newcounter{function}
\setcounter{function}{0}
\newcounter{functionhelper}
\setcounter{functionhelper}{0}
\newcounter{functionref}
\setcounter{functionref}{0}
Die Kommandos werden in einer externen Datei definiert:
Code:
% The item for the new environment 'funlist'
\newcommand{\fun}[1]{\item \textbf{\textsf{#1}} }
\newcommand{\funref}[1]{/F\padzeroes[3]\decimalnum{#1}/} % ***
\newenvironment{funlist}
{% This is the begin code
\begin{list}{\textbf{\textsf{\textit{/F\padzeroes[3]\decimal{function}/}}}}
{\usecounter{function} \setlength{\rightmargin}{\rightmargin}}
\setcounter{function}{\thefunctionhelper}
}
{% This is the end code
\setcounter{functionhelper}{\thefunction}
\end{list}
}
In der Umgebung musste ich ein bisschen tricksen, weil der Zähler bei \end{} immer zurückgesetzt wurde.
Im Text sollte das dann so ausschauen:
Code:
\begin{funlist}
(...)
\fun{Bla}\label{bla-label}
(...)
\end{funlist}
Referenziert soll das dann so werden (Definition: siehe ***):
Code:
(...)Bla,bla wie \funref{\ref{bla-label}}
Dabei kommt die Fehlermeldung:
Code:
! Missing number, treated as zero.
Nach googeln hab ich herausgefunden, dass das mit fehlenden
Argumenten oder falscher Argument-Reihenfolge zu tun haben soll.
Naja...Ich denke meine Definition und Verwendung ist in Ordnung.
Möglicherweise liegt der Hund im Paket fmtcount begraben. Übergebe ich
nämlich \funref eine Zahl, funktioniert das einwandfrei.
Ich hatte noch andere Ansätze, bei der ich z.B. \funref nur das Label übergeben habe, aber auch diese scheiterten meist mit der gleichen Fehlermeldung.
Vielen Dank schon mal für das Durchlesen
Markus
P.S.: Die vielen code-Umgebungen möge man mir verzeihen. Ich mach künftig weniger, wenn das zuviel ist.
Lesezeichen