Anzeige:
Ergebnis 1 bis 6 von 6

Thema: Referenz auf eigenen Counter

  1. #1
    Registrierter Benutzer
    Registriert seit
    19.07.2013
    Beiträge
    6

    Question Referenz auf eigenen Counter

    Hallo Leute,

    Ich habe folgendes Problem: Ich habe mir einen Befehl geschrieben, mit dem ich Anforderungen schön formatiert mit counter in den Fließtext einbauen kann.
    Also der Befehl \req{Text} fügt mir jetzt die Anforderung "REQ001 Text" ein. Ich habe ein optionales Argument eingebaut, so dass mittels \req[referenz]{Text} ein Label gesetzt wird.

    Soweit so gut. Ich möchte diese Anforderung später im Text mit \ref{referenz} ansprechen können. Klappt auch soweit. Allerdings möchte ich als Ausgabe bei von \ref{referenz} nicht nur den counter (in dem Fall 1), sondern eine Ausgabe mit meinem Prefix (also REQ001).

    Wie bekomme ich das denn hin?

    Vielen Dank schon mal.

    Hier ist der Code für mein Minimalbeispiel:
    (mit Online-Editor öffnen)
    Code:
    %minimalbeispiel
    \documentclass[11pt,a4paper]{article}
    \usepackage[utf8]{inputenc}
    \usepackage[german]{babel}
    \usepackage[T1]{fontenc}
    \usepackage{amsmath}
    \usepackage{amsfonts}
    \usepackage{amssymb}
    
    \usepackage{fmtcount}% http://ctan.org/pkg/fmtcount
    \usepackage{xifthen}
    
    
    % Definition des Befehles 
    \newcounter{reqCounter}
    \newcommand{\req}[2][]{
    \refstepcounter{reqCounter}
    \begin{quote} 
    \begin{tabular}{lp{11cm}}
    \begin{footnotesize}
    \mbox{REQ\hfill\padzeroes[3]{\decimal{reqCounter}}}
    \end{footnotesize}
    & #2 \\ 
    \end{tabular} 
    \end{quote}
    \ifthenelse{\isempty{#1}}{}{\label{#1}}
    }
    \newcommand{\refReq}[1]{\mbox{REQ
    \hfill{\ref{#1}}
    }}
    
    \begin{document}
    
    Hier steht eine menge Fließtext ...
    
    \req[Testanforderung]{Das Auto ist grün}
    
    Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. 
    
    Jetzt möchte ich an dieser Stelle die Anforderung referenzieren \ldots
    Also in Anforderung \ref{Testanforderung} wird beschrieben, dass das Auto grün sein soll.
    %Hier soll ... Anforderung REQ001 stehen 
    \end{document}

  2. #2

  3. #3
    Registrierter Benutzer
    Registriert seit
    19.07.2013
    Beiträge
    6
    Ja ist ein Crosspost. Ist das hier verboten oder nicht gerne gesehen? Ich würde die gefundene Antwort auch in beiden Foren posten.
    Normalerweise mache ich so etwas nicht, aber ich schreibe momentan an meiner Bachelorarbeit und langsam drückt die Zeit.

  4. #4
    Registrierter Benutzer
    Registriert seit
    20.07.2013
    Beiträge
    193
    Auch hier gibt es dazu etwas in den Boardregeln.

    Zitat Zitat von Boardregeln
    Crosspostings: Wer die gleiche Frage noch in einem anderen Forum stellt, gibt den direkten Link zu der Frage in seinem Post an (damit die Frage nicht doppelt beantwortet werden muss).

  5. #5
    Registrierter Benutzer
    Registriert seit
    09.12.2005
    Beiträge
    1.327
    Ja, wenn die Zeit drückt, endlich mal etwas zu essen, bestelle ich auch schon mal bei zwei Pizza-Service. Man weiß ja nie, wie lange die brauchen und welche Pizza besser ist.

  6. #6
    Registrierter Benutzer
    Registriert seit
    19.07.2013
    Beiträge
    6

    Thumbs up

    Zitat Zitat von klops Beitrag anzeigen
    Ja, wenn die Zeit drückt, endlich mal etwas zu essen, bestelle ich auch schon mal bei zwei Pizza-Service. Man weiß ja nie, wie lange die brauchen und welche Pizza besser ist.
    Welch' komischer Vergleich o.O Hier geht es doch nicht um besser oder schlechter. Vielleicht gibt es in den einem Forum jemand, der die Antwort kennt und ich poste die Antwort anschießend hier. Also eine win-win-Situation.
    Okay, das mit dem Verlinken hätte ich wohl wissen müssen. Sorry dafür. Für's nächste mal weiß ich es besser.

    In dem besagten anderen Forum hat der Nutzer "cgnieder" die passende Lösung für mich gehabt:

    Code:
    %Befehl für führende Nullen
    \providecommand\threedigits[1]{\ifnum#1<10 0\fi\ifnum#1<100 0\fi\number#1} 
    \newcounter{reqCounter}
    %Counter-Ausgabebefehl überschreiben (das war das, was ich gebraucht hatte) 
    \renewcommand\thereqCounter{REQ\threedigits{\value{reqCounter}}} 
    
    \newcommand{\req}[2][]{ 
    \refstepcounter{reqCounter} 
    \begin{quote} 
    \begin{tabular}{lp{11cm}} 
    \begin{footnotesize} 
    \thereqCounter 
    \end{footnotesize} 
    & #2 \\ 
    \end{tabular} 
    \end{quote} 
    \ifthenelse{\isempty{#1}}{}{\label{#1}} 
    }

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •