PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Falsche Seitennumerierung des Inhaltsverzeichnisses + Same Identifier-Fehler



Kathrin_B
27-09-2010, 11:30
Hallo zusammen,

ich habe ein Dokument erstellt, das eine Titelseite und ein Inhaltsverzeichnis vor den Hauptkapiteln enthält. Die Titelseite soll keine Seitenzahl erhalten, das Inhaltsverzeichnis eine römische Numerierung beginnend bei i, und die Hauptkapitel sollen arabisch numeriert sein (beginnend bei 1).

Im Minimalbeispiel habe ich ein Inhaltsverzeichnis über zwei Seiten eingebaut. Die erste Seite hat auch die Nummer i, die zweite dann aber die Nummer 1. Wenn das Inhaltsverzeichnis nur aus einer Seite besteht, bekommt sie die Seite 1, bei mehr Seiten sind die ersten Seiten richtig numeriert (z.B. i bis iii), die letzte Seite des Inhaltsverzeichnisses hat jedoch die Nummer 1.

Woran liegt das? Ich verstehe es einfach nicht!


\documentclass[oneside]{scrbook}
\usepackage{hyperref}

\begin{document}
\pagenumbering{roman}
\title{Titel}
\author{Autor}
\maketitle
\setcounter{page}{1}
\tableofcontents%\phantomsection\addcontentsline{t oc}{chapter}{Inhaltsverzeichnis} (optional)

\pagenumbering{arabic}
\setcounter{page}{1}
\chapter{Einleitung}
\section{Beispielsection}
\section{Beispielsection}
\section{Beispielsection}
\chapter{Einleitung}
\section{Beispielsection}
\section{Beispielsection}
\section{Beispielsection}
\chapter{Einleitung}
\section{Beispielsection}
\section{Beispielsection}
\chapter{Einleitung}
\section{Beispielsection}
\section{Beispielsection}
\section{Beispielsection}
\chapter{Einleitung}
\chapter{Einleitung}
\section{Beispielsection}
\section{Beispielsection}
\section{Beispielsection}
\chapter{Einleitung}
\section{Beispielsection}
\section{Beispielsection}
\section{Beispielsection}
\chapter{Einleitung}
\section{Beispielsection}
\section{Beispielsection}
\section{Beispielsection}
\chapter{Einleitung}
\section{Beispielsection}
\section{Beispielsection}
\section{Beispielsection}
\end{document}

Eigentlich soll das Inhaltsverzeichnis auch ins Inhaltsverzeichnis aufgenommen werden (warum das so sein soll, soll hier bitte nicht diskutiert werden!), deshalb auch der auskommentierte Teil im Beispiel. Wenn ich das mache, bekommt der Eintrag die Seitenzahl 1 zugewiesen.

Außerdem habe ich noch ein weiteres Problem: in der log-Datei (und im Ausgabefenster) behauptet LaTeX, ein Identifier wäre doppelt vergeben (s. angehängtes log). Das Problem habe ich bei (fast) allen Dokumenten, die ich kompiliere. Woran liegt das, und was muss ich deshalb unternehmen?

Vielen Dank schonmal!
Kathrin

bobmalaria
27-09-2010, 11:35
hi,

setze mal ein \clearpage nach \tableofcontents. dann sollte die nummerierung passen.

zum "same idientifier": auch wenn die titelseite keine sichtbare seitennummer hat (da \pagetstyle{empty} aktiv ist), wird sie natürlich dennoch gezählt. damit hast du also die titelseite mit einer nummer 1 und dann später nochmal eine 1 wenn du mit \pagenumbering{arabic} die nummerierung umschaltest.

jetzt könnte man hyperref natürlich für die titelseite abschalten und ich erinnere mich das ulrike das mal gezeigt hat, ich behelfe mir aber immer etwas simpler und schreibe einfach \pagenumbering{Alph} vor die titelseite. damit bekommt diese ein A im internen seitenzähler und die 1 kommt nur noch einmal vor.

edit1:
ich habe das gerade noch ausgegraben. du kannst versuchen

\hypersetup{pageanchor=false}
Titelseite
\hypersetup{pageanchor=true}

edit2:

habe es versucht, sieht richtig aus

\documentclass[oneside]{scrbook}
\usepackage{hyperref}

\begin{document}

\title{Titel}
\author{Autor}

\hypersetup{pageanchor=false}
\maketitle
\hypersetup{pageanchor=true}
\pagenumbering{roman}
\tableofcontents%\phantomsection\addcontentsline{t oc}{chapter}{Inhaltsverzeichnis} (optional)
\clearpage

\pagenumbering{arabic}
%\setcounter{page}{1}
\chapter{Einleitung}
\section{Beispielsection}
\section{Beispielsection}
\section{Beispielsection}
\chapter{Einleitung}
\section{Beispielsection}
\section{Beispielsection}
\section{Beispielsection}
\chapter{Einleitung}
\section{Beispielsection}
\section{Beispielsection}
\chapter{Einleitung}
\section{Beispielsection}
\section{Beispielsection}
\section{Beispielsection}
\chapter{Einleitung}
\chapter{Einleitung}
\section{Beispielsection}
\section{Beispielsection}
\section{Beispielsection}
\chapter{Einleitung}
\section{Beispielsection}
\section{Beispielsection}
\section{Beispielsection}
\chapter{Einleitung}
\section{Beispielsection}
\section{Beispielsection}
\section{Beispielsection}
\chapter{Einleitung}
\section{Beispielsection}
\section{Beispielsection}
\section{Beispielsection}
\end{document}


gruss

Kathrin_B
27-09-2010, 11:54
Hallo bobmalaria,

vielen Dank für deine Antwort! Die Seitennumerierung klappt jetzt wunderbar, auch das Same Identifier-Problem ist jetzt weg.

Das einzige was noch nicht klappt, ist die Aufnahme des Inhaltsverzeichnisses ins Inhaltsverzeichnis (mit \phantomsection\\addcontentsline{toc}{chapter}{Inh altsverzeichnis}). Er zeigt mir als Seitenzahl für das Inhaltsverzeichnis die letzte Seite des Verzeichnisses an, in dem Beispiel also ii statt i. Woran kann das liegen?

Grüße,
Kathrin

Schweinebacke
27-09-2010, 11:55
Vor dem Umschalten der Seitennummerierung sollte man immer \cleardoublepage oder bei KOMA-Script sogar \cleardoubleoddpage setzen, damit bei doppelseitigem Satz ggf. eine Vakatseite eingefügt wird und so die Seite mit der Nummer 1 auch absolut eine ungerade Seite ist.

Kathrin_B
27-09-2010, 12:48
Hallo Schweinebacke,

vielen Dank für deinen Hinweis, aber leider ändert das Einfügen von \cleardoubleoddpage (sowohl vor als auch nach dem Inhaltsverzeichnis) nichts an meinem Problem mit der Angabe der falschen Seitenzahl im Inhaltsverzeichnis.

Grüße,
Kathrin

Schweinebacke
27-09-2010, 13:31
Welche meinst Du? Die des Inhaltsverzeichnisses im Inhaltsverzeichnis? Davon abgesehen dass es absolut sinnfrei ist, das Inhaltsverzeichnis im Inhaltsverzeichnis einzutragen, machst Du den Eintrag ja auch erst nach dem Inhaltsverzeichnis. Wenn man diesen wenig sinnvollen Eintrag schon machen will, dann sollte man das mit den Mitteln machen, die in der KOMA-Script-Anleitung zu diesem Zweck dokumentiert sind (siehe Kapitel über tocbasic):
\setuptoc{toc}{totoc}Ansonsten sei darauf hingewiesen, dass Änderungen am Inhaltsverzeichnis min. zwei LaTeX-Läufe erfordern, bis sie sichtbar werden.

Kathrin_B
27-09-2010, 16:32
Hallo Schweinebacke,

richtig, ich meine die Seitenzahl des Inhaltsverzeichnisses im Inhaltsverzeichnis. Ich habe bereits oben geschrieben, dass ich hier keine Diskussion anfangen möchte, ob das sinnvoll ist oder nicht - meine Diss-Vorlage sieht es vor, Punkt.

Was du mir empfohlen hast, funktioniert leider nicht, das Inhaltsverzeichnis wird nicht aufgenommen. Das mit den mehreren Läufen habe ich natürlich gemacht.

Grüße,
Kathrin

rais
27-09-2010, 20:35
Moin moin,


Was du mir empfohlen hast, funktioniert leider nicht, das Inhaltsverzeichnis wird nicht aufgenommen. Das mit den mehreren Läufen habe ich natürlich gemacht.

Dein Problem kann ich nicht nachvollziehen, d.h. -- ausgehend von dem von bobmalaria angepassten Beispiel -- wo genau hast Du es mit eben


\setuptoc{toc}{totoc}

versucht?

MfG

Schweinebacke
28-09-2010, 09:05
Ich habe bereits oben geschrieben, dass ich hier keine Diskussion anfangen möchte, ob das sinnvoll ist oder nicht - meine Diss-Vorlage sieht es vor, Punkt.
Das ist hier kein Wunschkonzert. Wenn ich es für notwendig halte, über das Vorhaben an sich eine Wertung abzugeben, dann mache ich das. Solange ich dabei nicht beleidigend werde, sondern sachlich bleibe, wirst Du damit leben müssen.


Was du mir empfohlen hast, funktioniert leider nicht, das Inhaltsverzeichnis wird nicht aufgenommen. Das mit den mehreren Läufen habe ich natürlich gemacht.
Natürlich funktioniert das. Ich habe das sogar ausprobiert:
\documentclass[oneside]{scrbook}
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\usepackage{hyperref}
\setuptoc{toc}{totoc}% Typografischer, stilistischer und semantischer Unsinn, aber bei KOMA-Script trotzdem ganz einfach (siehe scrguide.pdf)

\begin{document}
\frontmatter
\title{Titel}
\author{Autor}
\hypersetup{pageanchor=false}
\maketitle
\hypersetup{pageanchor=true}
\cleardoubleoddpage% Sollte immer vor \pagenumbering stehen!
\pagenumbering{roman}% typografisch Unsinn, weil Titelseiten bei der römischen
% Nummerierung des Vorderteils immer mit gezählt werden.
\tableofcontents
\mainmatter
\blinddocument

\end{document}Die Lösung hält sich dabei streng an die KOMA-Script-Anleitung. Wobei man die \setuptoc-Anweisung sogar noch unmittelbar vor \tableofcontents einfügen kann. Außerdem habe ich \frontmatter und \mainmatter verwendet, die ebenfalls in der KOMA-Script-Anleitung dokumentiert sind.

Auch Du scheinst, an die Sache mit etwas zu viel Schnell-Schnell heranzugehen, so dass die notwendige Sorgfalt etwas auf der Strecke bleibt. Dadurch urteilst Du vielleicht auch etwas vorschnell über Antworten.

Kathrin_B
28-09-2010, 14:54
Hallo Schweinebacke,

vielen Dank für dein Beispiel, so funktioniert es auch bei mir. Ich hatte den Befehl erst nach dem \tableofcontents angegeben, deshalb hat es nicht funktioniert.

Im Übrigen habe ich nichts gegen typografische Verbesserungsvorschläge und ähnliche Hinweise, im Gegenteil, oftmals bin ich dafür sehr dankbar und habe bereits viele von hier gemachten Vorschlägen angenommen. Wenn ich jedoch schreibe, dass ich über etwas nicht diskutieren möchte, dann habe ich mir das gut überlegt. In diesem Fall weiß ich nämlich sehr gut, dass nicht jeder meinen Wunsch als sinnvoll erachtet, auch ich überlege noch, ob ich das wirklich umsetzen werde. Allerdings kommt dieser Wunsch von meinem Gutachter, von daher werde ich ihn erstmal berücksichtigen.

Grüße,
Kathrin

Schweinebacke
28-09-2010, 15:22
Wenn ich jedoch schreibe, dass ich über etwas nicht diskutieren möchte, dann habe ich mir das gut überlegt.
Du darfst ruhig davon aus gehen, dass ich normalerweise auch wohl überlegt schreibe. ;)


Ich hatte den Befehl erst nach dem \tableofcontents angegeben, deshalb hat es nicht funktioniert. Typischer Fall von: Wenn das Kind in den Brunnen gefallen ist, legen wir noch schnell ein Gitter drauf. ;)

Ernst gemeinter Rat: Du gehst zu hektisch ran. Wenn es das nächste Mal nicht klappt, geh in die Küche, koch Dir einen Tee, bleib daneben stehen, bis er gezogen hat und dann setz Dich mit der Tasse vor den Rechner und halte die Tasse fest, während Du einfach nur schaust, was da auf dem Monitor steht. Dieses bewusste: »Nein, ich fange jetzt nicht gleich an zu tippen, sondern halte meine Tasse mit beiden Händen fest, blase den heißen Tee ein wenig und lasse einfach nur auf mich wirken, was das steht!« wirkt manchmal Wunder - jedenfalls bei mir.