Problem mit neuer list-environment und nested

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Problem mit neuer list-environment und nested

von mcr76 » Do 28. Mär 2013, 10:11

Vielen Dank.
Funktioniert super.

von u_fischer » Do 28. Mär 2013, 09:37

Die zweite statitemize-Umgebung macht ja auch
\let\olditem\item% 
\renewcommand\item[2][]{\olditem \status{##2}{##1}}%
Aber nun ist \item schon das neue \item.

Mache es besser so
\let\oritem\item
\newcommand\statitem[2][]{\oritem \status{#2}{#1}}
\newenvironment{statitemize}{%
\let\item\statitem
\begin{itemize}}{\end{itemize}%
}

Problem mit neuer list-environment und nested

von mcr76 » Do 28. Mär 2013, 09:27

Hallo zusammen,

ich habe folgenden Code geschrieben:
\documentclass[draft]{scrartcl}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}

\usepackage{xifthen}
\usepackage{xcolor}

\usepackage[free-standing-units]{siunitx}

\newcommand{\cord}[1]{\textcolor{red!80!black}{#1}}
\newcommand{\cogre}[1]{\textcolor{green!40!black}{#1}}
\newcommand{\coora}[1]{\textcolor{orange!80!red}{#1}}
\newcommand{\coyel}[1]{\textcolor{red!40!yellow}{#1}}

\newtest{\tet}[3]{%
\cnttest{(#2)}{>=}{#1}%
\AND
\cnttest{(#2)}<{#3}%
}

\newtest{\tc}[1]{%
\cnttest{(#1)}{>=}{100}%
}


\newcommand{\status}[2]{ %
\ifthenelse{\tet{0}{#2}{10}}%
  {\cord{#1 \hfill $\SI{#2}{\percent}$}}%
  {\ifthenelse{\tet{10}{#2}{50}}%
     {\coora{#1 \hfill $\SI{#2}{\percent}$}}%
     {\ifthenelse{\tet{50}{#2}{100}}%
        {\coyel{#1 \hfill $\SI{#2}{\percent}$}}%
        {\ifthenelse{\tc{#2}}%
           {\cogre{#1 \hfill $\SI{#2}{\percent}$}}%
           {#1}}%
     }%
  }%
}%

\newenvironment{statitemize}{%
\let\olditem\item% 
\renewcommand\item[2][]{\olditem \status{##2}{##1}}%
\begin{itemize}}{\end{itemize}%
}

\begin{document}
   \begin{statitemize}
       \item[10] {Test1}
   \end{statitemize}
\end{document}
Dies funktioniert auch wie gewünscht.

Nur leider funktioniert das folgende nun nicht mehr:
   \begin{statitemize}
       \item[10] {Test1}
       \begin{statitemize}
           \item[20] {test2}
       \end{statitemize}
   \end{statitemize}
Die Fehlermeldung:
TeX capacity exceeded, sorry [input stack size=5000] \item[20] {test2}
Was mache ich falsch?

Vielen Dank

Mit freundlichen Grüßen
Christian

Nach oben