LuPi
25-04-2011, 16:39
[Leider kann man den Betreff nicht editieren: einer Liste heißt es natürlich]
In dem folgenden Beispiel findet Ihr einen leider nur teilweise erfolgreichen Versuch (anderenfalls würde ich mich hier nicht melden), einen Listenumgebung zu modifizieren.
\documentclass{scrartcl}
\newcommand{\showpoints}[1]{\marginline{\bfseries#1 P.}}
\makeatletter
\newcommand*\saved@item{}
\newenvironment{ListX}{%
\let\saved@item\@item
\renewcommand*{\@item}[1][]{%
\saved@item[\@itemlabel] \null\showpoints{##1}
}
\begin{enumerate}
}{%
\end{enumerate}
}
\makeatother
\begin{document}
\begin{ListX}
\item[5] foo
\item[3] bar
\end{ListX}
\end{document}Wie am Ergebnis zu erkennen ist, sind noch zwei Fehler enthalten:
- Die Angabe in der Randspalte ist vertikal nach oben versetzt. Wenn ich diese mittels \showpoints nach dem ersten Wort der Zeile setzt, passt die Positionierung, aber das ist so wohl nicht ohne weiteres möglich.
- Die Nummerierung ist noch nicht korrekt.
Für Euere guten Tips besten Dank im voraus!
In dem folgenden Beispiel findet Ihr einen leider nur teilweise erfolgreichen Versuch (anderenfalls würde ich mich hier nicht melden), einen Listenumgebung zu modifizieren.
\documentclass{scrartcl}
\newcommand{\showpoints}[1]{\marginline{\bfseries#1 P.}}
\makeatletter
\newcommand*\saved@item{}
\newenvironment{ListX}{%
\let\saved@item\@item
\renewcommand*{\@item}[1][]{%
\saved@item[\@itemlabel] \null\showpoints{##1}
}
\begin{enumerate}
}{%
\end{enumerate}
}
\makeatother
\begin{document}
\begin{ListX}
\item[5] foo
\item[3] bar
\end{ListX}
\end{document}Wie am Ergebnis zu erkennen ist, sind noch zwei Fehler enthalten:
- Die Angabe in der Randspalte ist vertikal nach oben versetzt. Wenn ich diese mittels \showpoints nach dem ersten Wort der Zeile setzt, passt die Positionierung, aber das ist so wohl nicht ohne weiteres möglich.
- Die Nummerierung ist noch nicht korrekt.
Für Euere guten Tips besten Dank im voraus!