PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : illegal parameter number in eigener umgebung



Kladde
19-08-2006, 22:11
hallo leute! ich bin noch ein neuling im umgang mit latex und auch neu hier im forum.
mein problem ist folgendes: ich möchte gerne eine eigene description-umgebung basteln, da ich mit der standard-umgebung nicht zufrieden bin. hier mein quelltext dazu:


\newenvironment{mydescr}{
\begin{list}{~}{
\renewcommand{\makelabel}[1]{\textit{#1}}
\setlength{\topsep}{2ex}
\setlength{\labelsep}{0.5cm}
\setlength{\rightmargin}{2em}
\setlength{\leftmargin}{9em}
\setlength{\labelwidth}{7em}
\setlength{\parsep}{1em}
\setlength{\itemsep}{-1ex}
}
}
{\end{list}}

das problem ist nun, dass texniccenter folgende fehlermeldung ausgibt, die ich nicht verstehe:


! illegal parameter number in definition of \mydescr.
"<"to be read again">"
1
1.63 {\end{list}}

vielleicht hängt es damit zusammen, dass ich weiter oben in der präambel dies hier geschrieben habe:

\renewcommand{\descriptionlabel}[1]{\it{#1}}
letzterer befehl hätte mir für meine anforderung an die description-list eigentlich auch genügt, aber das label wird anders ausgerichtet als normal, die items stehen dann weiter links als jeder andere text im dokument; daher der versuch einer eigenen description.

ich hoffe sehr, dass mir hierbei jemand weiterhelfen kann. danke.

rais
20-08-2006, 19:22
Hallo und Herzlich Willkommen an Board :)
Du hast Dir schon fast selbst geantwortet ;)
ach, doch nicht...


\renewcommand{\makelabel}[1]{\textit{#1}}

Wenn Du eine Umdefinierung dieser Art innerhalb Deiner eigenen Definition machst, dann heißt es


\renewcommand{\makelabel}[1]{\textit{##1}}

an der Stelle - bei #1 geht LaTeX davon aus, daß Du den ersten Parameter für Deine Umgebung meinst... da Du aber keine Parameter definiert hast, bekommst Du auch diese Fehlermeldung.;)




\renewcommand{\descriptionlabel}[1]{\it{#1}}

Eigentlich kannste den nu glaub' ich weglassen, aber trotzdem:
\it soll eigentlich nicht verwendet werden, besser \textit{..} oder {\itshape ..}, vgl. l2tabu.
Und \it{..} bringt eigentlich nichts, weil \it auch nach dieser Gruppe noch wirkt.

Aber meinst Du nicht, daß Du dieses Problem mit dem enumitem-Paket hättest lösen können?
MfG,

Kladde
20-08-2006, 21:14
vielen dank erstmal an rais!

deine lösung funktioniert bestens. meinen fehler habe ich jetzt verstanden (glaub ich zumindest :) ).
außerdem war ist die verwendung von \it auch quatsch an besagter stelle.

wie ich das mit enumiitem hätte machen sollen versteh ich nicht ganz. mein ziel war lediglich die standard description-umgebung so zu verändern, dass das item nicht fettgedruckt, sondern kursiv geschrieben wird. daher der versuch mit
\renewcommand{\descriptionlabel}[1]{\it{#1}} bzw. jetzt besser mit
\renewcommand{\descriptionlabel}[1]{\textit{#1}} problem dabei waren wie gesagt die dann zu weit nach links gerückten items (was ohne veränderung des labels nicht auftrat; warum?).
bei enumiitem hätte ich doch zahlen als items gehabt oder nicht? außerdem wären diese nicht kursiv gewesen, genau wie bei itemize mit
\item[...bsptext...]

vielleicht fällt ja jemandem noch etwas dazu ein.