PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : fortlaufende Nummerierung von Listen



miwieg
09-06-2006, 10:46
Hallo!

Die "enumerate" Funktion sorgt dafür, dass Listen separat durchgezählt werden. Ich möchte aber, dass die Nummerierung von Listenelementen bei folgenden Listen weiterzählt und nicht bei 1. wieder anfängt, also so etwas wie:

Liste A:
1. ...
2. ...
3. ...

<text>

Liste B:
4. ...
5. ...
6. ...


Ich habe es einmal mit Zählern und "description" versucht. Das Problem hierbei ist nur, dass ich nicht mehr auf die Listennummerierung referenzieren kann, da die labels auf die entsprechende "section" zeigen.

Vielen Dank im Voraus!

Special_K
09-06-2006, 11:02
Du könntest mit dem setcounter-Befehl den Zähler bei Beginn der enumerate-Umgebung auf n-1 setzen (wobei n die Zahl ist, bei der weitergezählt werden soll. Beispiel:


\begin{enumerate}
\item ...
\item ...
\item ...
\end{enumerate}

Irgendein Text ...

\begin{enumerate}\setcounter{enumi}{3}
\item ...
\item ...
\item ...
\end{enumerate}

countbela666
09-06-2006, 13:52
oder mit dem Paket enumitem:

\documentclass{scrartcl}
\usepackage{enumitem}
\begin{document}
\begin{enumerate}
\item eins
\item zwei
\end{enumerate}
blabla
\begin{enumerate}[resume]
\item drei
\item ...
\end{enumerate}
\end{document}Grüße,
Marcel

miwieg
09-06-2006, 14:22
Die Listen sollen für jedes Kapitel neu durchnummeriert werden.

Von daher wollte ich einen Zähler c für jedes Kapitel definieren und ihn pro Listenelement um 1 erhöhen.
Das Frage, die ich noch habe, ist, wie ich bei der Initialisierung der Liste, den Startwert als "c - 1" definiere, also:

\begin{enumerate}\setcounter{enumi}{"c - 1"}
\item ...
\item ...
\item ...
\end{enumerate}

Wie müsste der Befehl "c - 1" in LaTeX Code heißen? "\thec - 1" funktioniert nicht.

Vielen Dank!

rais
09-06-2006, 15:24
Die Listen sollen für jedes Kapitel neu durchnummeriert werden.

Von daher wollte ich einen Zähler c für jedes Kapitel definieren und ihn pro Listenelement um 1 erhöhen.
Das Frage, die ich noch habe, ist, wie ich bei der Initialisierung der Liste, den Startwert als "c - 1" definiere, also:

\begin{enumerate}\setcounter{enumi}{"c - 1"}
\item ...
\item ...
\item ...
\end{enumerate}

Wie müsste der Befehl "c - 1" in LaTeX Code heißen? "\thec - 1" funktioniert nicht.

Was genau versuchst Du nun zu erreichen?
\renewcommand{\theenumi}{\thec - \arabic{enumi}}
vielleicht? Oder gleich
\usepackage{chngcntr}
\counterwithin{enumi}{chapter} %alternativ zu
%\counterwithin{enumi}{c}
?
MfG,

miwieg
09-06-2006, 16:44
Ich möchte so etwas wie:

\usepackage{chngcntr}
\counterwithin{enumi}{chapter}

aber ich möchte nicht bei den Listenelementen noch die Kapitelnummer stehen haben. Der obige Befehl gibt Listen etwa im folgenden Format
<chapter 1>
Liste A:
1.1 ...
1.2 ...
Liste B:
1.3 ...
1.4 ...

aber "1." soll nicht erscheinen.

rais
09-06-2006, 17:22
Also vielleicht


\usepackage{chngcntr}
\counterwithin{enumi}{chapter}
\renewcommand{\theenumi}{\alph{enumi}}
?
Aber wozu den ganzen Aufwand, wenn eine neue Liste sowieso bei 1 anfängt?
Oder soll es innerhalb eines Kapitels grundsätzlich durchlaufend gezählt werden, in Anlehnung an Marcel's Vorschlag also quasi

\documentclass{scrbook}
\usepackage{enumitem,ifthen}
\newcounter{chapterfirst}[chapter]
\newcommand{\resumeorrestart}{%
\ifthenelse{\equal{x\arabic{chapterfirst}}{x0}}{%
\stepcounter{chapterfirst} %erste Aufzählung im Kapitel
restart%
}{%
resume%
}%
}
\begin{document}
\begin{enumerate}
\item eins
\item zwei
\end{enumerate}
blabla
\begin{enumerate}[\resumeorrestart]
\item drei
\item ...
\end{enumerate}
\end{document}
so als Anhaltspunkt für einen späteren konsequenten Aufruf von \begin{enumerate}[\resumeorrestart], so's denn funzt (ungetestet)?
MfG,

miwieg
10-06-2006, 09:39
Anscheinend habe ich Marcels Vorschlag übersehen. Das ist genau das, was ich haben wollte. Sorry!

Dany
17-06-2006, 11:53
Ich hatte das gleiche Problem

Die Lösung ist eigentlich ganz einfach

einfach das Paket mdwlist einbinden

\usepackage{mdwlist}

dann wie gewohnt deine Liste

\begin{enumerate}
\item
\item
\item
\item
\suspend{enumerate}

statt \end einfach \suspend schreiben...
...dann die zweite liste nicht mit \begin, sondern mit \resume beginnen

\resume{enumerate}
\item
\item
\item

\end{enumerate}

falls Du eine dritte Liste willst, einfach wieder \suspend statt \end und mit \resume gehts wieder weiter


Viele Grüße

pospiech
17-06-2006, 12:11
einfach das Paket mdwlist einbinden
\usepackage{mdwlist}


Ich bin kein Fan von mdwlist weil es inkompatibel mit dem Paket enumerate ist und ich mir nicht sicher bin ob es mit enumitem zuammen funktioniert - insbesondere weil beide die gleichen Möglichkeiten bieten.

Matthias