PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Aktuellen Zählerstand von Kapitel anzeigen



Maik_76
10-07-2007, 12:13
Hallo zusammen,

ich möchte in meinem Dokument in der Einleitung folgendes hineinschreiben:

[...] gliedert sich in X Kapitel [...]

Jetzt möchte ich für X den Aktuellen Zählerstand der Kapitel einfügen. Leider habe ich nichts gefunden, ausser wie man den Zählerstand manipulieren kann. Also setcounter oder addtocounter

Wie heißt der Befehl oder wie ist die Vorgehensweise, den Zählerstand anzuzeigen? Frei nach dem Motto: showcounter{chapter}

Gibt es da eine Lösung?

countbela666
10-07-2007, 12:14
Hallo,

\arabic{chapter} sollte so tun.

Grüße
Marcel

Maik_76
10-07-2007, 12:22
Leider nein, \arabic{chapter} zeigt die Zahl des Aktuellen Kapitels an, also eine 1, weil es in der Einleitung steht.

bobmalaria
10-07-2007, 12:24
hi,

dann sollte es eigentlich
\thechapter tun.

der zählername mit einem vorangestellten \the gibt immer den wert aus

Maik_76
10-07-2007, 12:26
Leider auch nicht, hier ist das gleiche Problem wie \arabic{chapter}

countbela666
10-07-2007, 12:33
Es ist natürlich problematisch, einen Zähler an einer Stelle auslesen zu wollen, an der er noch nicht den erwarteten Wert beinhaltet. Eine Möglichkeit, dieses Problkem zu umgehen, wäre das Schreiben des endgültigen Zählerwertes in eine Datei und diese dann beim nächsten Kompiliervorgang vor dem erneuten Setzen des Zählers zu laden:

\documentclass{scrreprt}
\newwrite\tmpout
\newread\tmpin
\def\writechapter{%
\immediate\openout\tmpout=\jobname.tmp%
\immediate\write\tmpout{\arabic{chapter}}%
\immediate\closeout\tmpout%
}
\def\readchapter#1{%
\openin\tmpin=\jobname.tmp%
\immediate\read\tmpin to #1%
\closein\tmpin%
}
\def\chaptercount{}
\begin{document}
\readchapter{\chaptercount}
so viele Kapitel waren es beim letzten Kompiliervorgang: \chaptercount
\chapter{foo}
\chapter{bar}
\chapter{baz}
\writechapter
\end{document}Vielleicht denke ich aber auch zu kompliziert.

Grüße
Marcel

Maik_76
10-07-2007, 13:02
Das ist, denke ich, auch zu kompliziert. Ich habe auch schon gedacht wie man einen Umweg nehmen kann. Man setzt am Ende des letzten Kapitels einen neuen Zähler, den man mit setcounter den Wert zuweist, und diesen dann ausliest.
Das toc wird ja auch am Anfang geschrieben, es braucht zwar zwei durchläufe, aber hier wird ja auch der Zähler ausgelesen. Ich dachte es gibt dafür, deshalb, auch ohne Umwege eine Lösung.

countbela666
10-07-2007, 13:13
Wenn du am Ende des letzten Kapitels einen Zähler setzt, kannst du den aber auch erst danach mit dem korrekten Wert auslesen. Wenn du schon in der Einleitung darauf zugreifen willst, wird es nicht funktionieren.

Das TOC wird auf genau die gleiche Art und Weise produziert, wie mein obiges Beispiel: beim ersten Kompiliervorgang werden die Informationen über die Gliederungsebenen in eine Datei geschrieben, die beim zweiten Kompiliervorgang am Anfang des Dokuments eingelesen und ausgegeben wird, bevor sie danach wieder aktualisiert wird.

Maik_76
10-07-2007, 13:21
Warum so schwer, wenn es auch einfach geht!!!!!!
Die Lösung liegt so nah!

Man verweist einfach auf das letzte Kapitel....



[...] gliedert sich in \ref{letztes Kapitel} Kapitel [...]


Trotzdem vielen Dank für eure Mitarbeit.

Hätte man ein Kind gefragt, wäre die Lösung sofort gekommen, denn die denken noch nicht so kompliziert. Leider können diese aber noch kein LaTeX...

countbela666
10-07-2007, 13:26
oder so... :D

könnte nur Probleme geben, wenn das letzte Kapitel im Anhang steht und anders nummeriert wird, aber auch das sollte sich zurechtbiegen lassen.