PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Abgeänderte description-Umgebung?



thomas100
14-04-2007, 13:07
Hallo zusammen

Ich möchte eine Umgebung definieren, welche vorgegebene description-Labels hat und folgendermassen aussieht:



ID 1
BB blablablalblablablalb slkfdj
balblablalb
DX blalbalblab
CC slfdj dfdsfsfsdfsfsdfsdfsdfs
sdfljsfsj slfj lsj fdlsj flsj f
DDD sdlkjf sljfd sljf lskjfd


Die Labels sollen fett sein und der Text soll ausgerichtet sein (Tabulator ähnlich, nich wie bei der description-Umgebung). Da die Labels immer die gleichen sind, denke ich dass das doch irgendwie auch ohne description-Umgebung funktioniert. Ausserdem soll die ID pro \begin{env}\end{env} um einen Wert erhöht werden.

Kann mir da jemand einen Tipp geben wie ich das am einfachsten mache!

Gruss und Danke

Thomas

MasterOfPuppets
14-04-2007, 13:28
Labeling-Umgebung innerhalb einer Enumeration?

Oder gleich ne Tabelle mit eigenem Zähler für die ID.

thomas100
14-04-2007, 13:55
Danke für die rasche Antwort. Die Tabelle wäre sicher auch eine Möglichkeit aber ich suche immer noch etwas einfacheres. Meine Lösung so weit ist zwar nicht einfacher als eine Tabelle aber etwas das ich so noch nicht kannte:



\usepackage{expdlist}

\newcounter{reqCounter}
\newcommand{\counter}{\arabic{reqCounter}}
\setcounter{reqCounter}{0}

\begin{description}[\compact\setlabelphantom{Requirement ID}]
\stepcounter{reqCounter}
\item[Requirement ID] R.\counter
\item[Title] blablabla...
\item[Description] asdlfkjs dflkj sdf saöldkjf lskjf lsj fldjs flkjs dljf slj flskj dlfkj slkjd flskj
flkjsd flkj lskjdf
\item[Priority] XX
\item[Source]sdfs
\item[Risk]sdfsfd
\item[References]sfddsf
\end{description}


Falls jemand eine wirklich bessere Lösung kennt (weniger Copy-Paste), nur her damit...

MasterOfPuppets
14-04-2007, 14:29
Du meinstest doch, dass die Labels immer gleich bleiben. Wieso packst du dann nicht deine Umgebung in ein neues Kommando? Erspart immerhin ein bisschen Arbeit.

thomas100
14-04-2007, 17:03
Nochmals vielen Dank für deine Hilfe!

Ich habe die Description nun mal noch in ein Kommando gepackt. Ob es wirklich besser ist als die obige Variante sei mal dahingestellt.



\newcommand{\req}[6]{
\begin{description}[\compact\setlabelphantom{Requirement ID}]
\stepcounter{reqCounter}
\item[Requirement ID] R.\counter
\item[Title] #1
\item[Description] #2
\item[Priority] #3
\item[Source] #4
\item[Risk] #5
\item[References] #6
\end{description}
}

\req{sfsf}{sfasa}{asdf}{adsf}{adsf}{ffff}


Was nun aber noch spitze wäre, wenn ich auch auf ein solches Requirement verweisen könnte. Z.B. soll mir \ref{x} den "Wert" R.3 zurückliefern.

Weiss jemand wie ich das machen kann? Klar, ich muss mal ein \label defnieren, aber wie bekomme ich die Nummer zurück?

rais
15-04-2007, 08:29
Moin moin,

Was nun aber noch spitze wäre, wenn ich auch auf ein solches Requirement verweisen könnte. Z.B. soll mir \ref{x} den "Wert" R.3 zurückliefern.

Weiss jemand wie ich das machen kann? Klar, ich muss mal ein \label defnieren, aber wie bekomme ich die Nummer zurück?
das wuerde ich etwa so angehen:


[documentclass{article}
\newcounter{requirement}
\renewcommand{\therequirement}{R.\arabic{requireme nt}}
\newcounter{reqitem}[requirement]
\renewcommand{\thereqitem}{%
\ifcase\value{reqitem}\or%
Requirement ID\or%
Title\or%
Description\or%
Priority\or%
Source\or%
Risk\or%
References\fi%
}
\newcommand{\myitem}{\stepcounter{reqitem}\item[\thereqitem]}
\newenvironment{xdesc}{%
\begin{description}%
\refstepcounter{requirement}%
\myitem \therequirement
}{\end{description}}

\begin{document}
\begin{xdesc}\label{req:bla}
\myitem etwa so\dots
\end{xdesc}
Wo \ref{req:bla} wohl hinzeigt?

Falls es sich hier nur um eine `Unterbrechhung' handelt...:
\begin{description}
\myitem sollte da weitergehen, wo xdesc aufgehoert hat
\end{description}
Anders bei einer neuen xdesc:
\begin{xdesc}
\myitem sollte wieder von vorn beginnen
\end{xdesc}
\end{document}
(ungetestet)
MfG,

thomas100
15-04-2007, 17:46
Genau das habe ich gesucht, besten Dank rais!
Vor allem habe ich nun auch noch gelernt, wie man mit ifcase-or-fi mehr als sechs Argumente verwenden kann ;)

rais
15-04-2007, 17:53
Gern geschehen :)
\show\today sollte n anderes Beispiel dafuer liefern (auf Konsole bzw. im log) ;)
MfG,