Für jedes Kapitel Seitenzahl neu beginnen

Layout von Seiten, Rändern, Fusszeilen, usw, modifizieren


ko3rn3r
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 53
Registriert: Mi 23. Jan 2019, 13:46

Für jedes Kapitel Seitenzahl neu beginnen

Beitrag von ko3rn3r »

Hallo,
ich möchte gerne, dass für jedes Kapitel die Seitenzahl wieder von 1 beginnt. Die Möglichkeit den Befehl

\setcounter{page}{1}

nach jedem Kapitel einzufügen, finde ich unschön. Zudem bekomme ich die Warnung:

destination with the same identifier ...

Kann man das irgendwie global definieren?

Vielen Dank im Voraus und liebe Grüße!


gast

Re: Für jedes Kapitel Seitenzahl neu beginnen

Beitrag von gast »

Ich rate davon dringend ab, weil das für den Leser extrem unpraktisch ist. Ansonsten wäre aber natürlich ein Minimalbeispiel praktisch.


Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Re: Für jedes Kapitel Seitenzahl neu beginnen

Beitrag von KOMA »

Ich kann mich meinem Vorredner nur anschließen. Kapitelweise Seitenzahlen verlieren ihre Orientierungswirkung bei der Suche nach einer Seite massiv. Niemand weiß, ob bei einem Buch mit 1000 Seiten Seite 10 in Kapitel 4 ganz am Anfang oder irgendwo in der Mitte oder am Ende ist. Jeder weiß aber, wo man bei durchgehender Nummerierung Seite 200 zu suchen hat. Enthalten die kapitelweisen Seitenzahlen nicht die Kapitelnummer, hat dann nicht nur TeX ein Problem, das Ziel eindeutig zu ermitteln. (Genau das drückt nämlich die Fehlermeldung aus.) Auch die Kommunikation über eine Seitenreferenz wird dadurch erschwert.

TeX bzw. hyperref kann man die Arbeit erleichtern. Entweder erzeugt man gar keine Seitenreferenzen oder man macht sie eindeutig.

Keine Seitenreferenzen bedeutet nicht nur, dass man weder \pageref noch \hyperpage verwendet. Es bedeutet auch, dass die Optionen pageanchor und pdfpagelabels auf false setzt. Siehe dazu die Paketanleitung.

Seitenreferenzen eindeutig machen kann man, indem man die internen Seitenreferenzen eindeutig macht. Dazu muss man \thepage so definieren, dass es bei PDF-Code-Verwendung etwas anderes ist als bei der TeX-Ausgabe. Das kann vermutlich mit etwas wie:

\renewcommand*{\thepage}{\texorpdfstring{}{\thechapter-}\arabic{page}}

erreicht werden. Natürlich sollte man diese Änderung auch auf eine Umdefinierung von \pagenumbering anwenden, damit auch bei dessen Verwendung der Kapitelpräfix beachtet wird.

Wie man nicht bei jedem Kapitel die Seitenzahl selbst auf 1 zurücksetzen muss, hängt von der verwendeten Klasse und ggf. auch von verwendeten Gliederungspaketen ab. Ijon Tichy hat schon vor Jahren gezeigt wie man das bei Verwendung von scrbook oder scrreprt an die Erzeugung des Kapiteleintrags ins Inhaltsverzeichnis knüpfen kann. Die dortige Lösung ohne die Umschaltmöglichkeit von kapitelweise und kapitelunabhängiger Zählweise wäre schlicht:

\usepackage{xpatch}
\xpretocmd{\addchaptertocentry}{%
  \setcounter{page}{1}%
}{}{\undefined}

Im verlinkten Beitrag ist übrigens auch zu finden, wie eine oben erwähnte Änderung von \pagenumbering grundsätzlich anzugehen wäre. Lediglich ist der Kapitelpräfix eben abhängig von der Ausgabeart zu setzen statt wie dort fix.

Natürlich funktioniert das nur, solange alle Kapitel einen Eintrag ins Inhaltsverzeichnis erzeugen, bzw. nur bei solchen Kapiteln eine Rücksetzung erwünscht ist. Man beachte in diesem Zusammenhang, dass auch Verzeichnisse Kapitel sind. Ohne das wäre die erwähnte Umschaltmöglichkeit wieder nützlich. Über den Do-Hook-Mechanismus von KOMA-Script könnte man die Rücksetzung aber auch unabhängig von der Erstellung eines Verzeichniseintrags realisieren. Der Mechanismus ist in der KOMA-Script-Anleitung und im KOMA-Script-Buch dokumentiert.

Hinweis: Aufgrund des Fehlens eines vollständigen Minimalbeispiel sind alle Vorschläge ungetestet. Weitere Antworten zu diesem Thema sind ohne ein solches vollständiges Minimalbeispiel von mir eher unwahrscheinlich. Dies soll keine Bevormundung darstellen, sondern ist eine Folge daraus, dass Antworten ohne klare Analysemöglichkeit und ohne unmittelbare Testmöglichkeit deutlich aufwändiger sind. Dies war auch bereits bei dieser Antwort der Fall.


texnick
Forum-Newbie
Forum-Newbie
Beiträge: 5
Registriert: Mo 11. Jan 2021, 17:40

Re: Für jedes Kapitel Seitenzahl neu beginnen

Beitrag von texnick »

Warum musst du es denn so umsetzen? Ist das eine Vorgabe von nem Prof oder so?
Wenn du nicht unbedingt musst würd ich mich anschließen und dir auch davon abraten.
Oder machst du es so, dass falls du mal in einem Kapitel was änderst nur das Kapitel neu rausgeben musst. Für längere Betriebsanleitungen könnte das sinnvoll sein.
Vielleicht hilft dir auch das chappg Paket.


ko3rn3r
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 53
Registriert: Mi 23. Jan 2019, 13:46

Re: Für jedes Kapitel Seitenzahl neu beginnen

Beitrag von ko3rn3r »

Vielen lieben Dank für eure Antworten!
Ich möchte eine Sammeldatei zur besseren Übersicht für mehrere Handouts, die für sich genommen alleine stehen, erstellen. Um mir das Kompilieren vieler kleiner Dateien zu sparen, wollte ich alle in einer Datei vereinen. Daher sollen die Seitenzahlen in jedem Kapitel zurückgesetzt werden. Das hat auch wunderbar mit dem Paket "xpatch" funktioniert!


Benutzeravatar
KOMA
TeX-Entwickler
TeX-Entwickler
Beiträge: 2958
Registriert: Fr 4. Jul 2008, 17:28
Kontaktdaten:

Re: Für jedes Kapitel Seitenzahl neu beginnen

Beitrag von KOMA »

Du willst wirklich jedes Mal, wenn Du an einem einzelnen Handout eine Kleinigkeit änderst oder eines neues hinzufügst, vollkommen unnötig alle Handouts neu erzeugen? Ich fände es ja praktischer, die Handouts einzeln zu lassen und so immer nur das eine Handout neu zu erzeugen. Ggf. könnte man mit einem geeigneten Tool wie subfiles sogar sowohl Einzeldokumente als auch ein Gesamtdokument, dass dann durchgehend nummeriert ist, erreichen.

Ein Script/Batch, das bei Bedarf alle Einzeldokumente im Verzeichnis (oder besser in diversen Unterverzeichnissen) erzeugt, sollte ja wohl nicht das Problem sein.

Aber Du musst selbst wissen, was Du tust. Das sei also nur als Hinweis an andere Anwender gedacht, dass es eventuell bessere, zumindest aber andere Lösungen geben könnte.


Antworten