PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : pdflatex & hyperref & index & unterschiedliche Seitenangaben



Kojo
13-10-2005, 03:07
Diese Probleme tauchen nur in dieser Kombination auf. Allerdings ist das ein Layout, welches in fast allen wissenschaftlichen Büchern vorkommt. Ich bin echt gespannt ob das jemand lösen kann. Ich habs drei monate lang nicht geschafft... :confused: Hilfe!!!
(Nähere Beschreibung in der Datei bzw. siehe unten.)

Hier eine Beispiel-Datei: (pdflatex & makeindex)
(Angehängt ist die kompilierte gezippte pdf-datei)

\documentclass[11pt,twoside,a4paper]{book}
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage{makeidx}
\usepackage[
pdftex,a4paper,bookmarks,bookmarksopen=false,bookm arksnumbered=false,pdfauthor={ss},
pdftitle={Diplomarbeit: ...},pdfsubject={Aufgabe dieser Diplomarbeit ist, ...},
pdfkeywords={R},plainpages=false,pdfpagelabels,hyp ertexnames=false,citebordercolor=000,
linkbordercolor=000,colorlinks=true]{hyperref}
\makeindex
\parindent0pt

\begin {document}
\pagenumbering{roman} % Römisch numeriert ---------------------------

%Das Problem:
Konstellation: pdflatex + hyperref + index + unterschiedliche Seitenangaben
\\\\
Ich bin einfach ratlos... und nach drei Monaten etwas enttäuscht von latex.
\\\\
Es funktioniert: Alle Zahlen werden richtig geschrieben!
\\\\
Probleme: (in Klammer stehen meine Vermutungen, woher die Fehler kommen könnten.
Ich habe aber trotz vieler Versuche keine Ahnung, wie ich das lösen kann.)
\\\\
- Hyperlinks im Index springen auf die falsche Seite !!!
(liegt an den zwei verschiedenen Seitennumerierungen, die ich aber
beibehalten will)

- Hyperlinks von Bookmarks im PDF bzw. im Inhaltsverzeichnis springt nicht
zum Index sondern auf das Kapitel davor!!!
(Liegt wohl daran, dass der Index im Gegensatz zu den anderen Konstrukten,
wie das Literaturverzeichnis, nicht als Kapitel eingebunden wird, sondern
nur mit makechapterhead)

-Ohne addcontentsline kein Eintrag im Inhaltsverzeichnis bzw. in den Bookmarks
(Liegt wohl daran, dass der Index im Gegensatz zu den anderen Konstrukten,
wie das Literaturverzeichnis, nicht als Kapitel eingebunden wird, sondern
nur mit makechapterhead)

-Index fängt nicht auf eine ungeraden Seite an
(Liegt wohl daran, dass der Index im Gegensatz zu den anderen Konstrukten,
wie das Literaturverzeichnis, nicht als Kapitel eingebunden wird, sondern
nur mit makechapterhead. Unschöne Alternative: cleardoublepage)

Auch über einzelne Tipps für Lösungen würde ich mich freuen! Danke!


\pdfbookmark[0]{Vorwort}{Vorwort}

\chapter*{Danksagung}
\pdfbookmark[1]{Danksagung}{Danksagung}
bla bla bla

\chapter*{Erklärung}
\pdfbookmark[1]{Erklärung}{Erklärung}
bla bla bla

\chapter*{Kurzfassung}
\pdfbookmark[1]{Kurzfassung}{Kurzfassung}
bla bla bla

\tableofcontents % Inhaltsverzeichnis hier einfügen
\pdfbookmark[1]{Inhaltsverzeichnis}{Inhalt}

\listoffigures % Abbildungsverzeichnis
\pdfbookmark[1]{Abbildungsverzeichnis}{Abbildungen}

\listoftables % Tabellenverzeichnis, Eintragungen
\pdfbookmark[1]{Tabellenverzeichnis}{Tabellen}

% ------------------------------- Seitenzahl zurückgesetzt und auf arabisch umgeschaltet

\chapter{eins}
\setcounter{page}{1}
\pagenumbering{arabic}
asdf asdf asdf asdf \\
asd fasdf asdf asdf Kaffee-eins \index{Kaffeeeins} \\
asd fsd fasd fasdf

\chapter{zwei}
asdf asdf asdf asdf \\
asd fasdf asdf asdf Kaffee-zwei \index{Kaffeezwei} \\
asd fsd fasd fasdf

\chapter{drei}
asdf asdf asdf asdf \\
asd fasdf asdf asdf Kaffee-drei \index{Kaffeedrei} \\
asd fsd fasd fasdf
\newpage sdfasd
asdf asdf asdf asdf \\
asd fasdf asdf asdf Kaffee-vier \index{Kaffeevier} \\
asd fsd fasd fasdf

\appendix
\chapter{erster anhang}
asdf asdf asdf asdf

%\cleardoublepage %nur als Trick
\printindex
\addcontentsline{toc}{chapter}{Index}{Index}

\end {document}

edico
13-10-2005, 08:43
... also dein Beispiel ist kein Minimalbeispiel. Da stehen doch package etc., die mit den Problemen nichts, aber auch nichts zu tun haben. Wenn du dich eines Problems naehern willst, musst du dein master-file sukzessive reduzieren ...

[1] um den Index 'richtig' anzuzspringen, setze:
...
%%\cleardoublepage %nur als Trick
%\printindex
%\addcontentsline{toc}{chapter}{Index}{Index}

%-->
\cleardoublepage % neue Seite
\phantomsection % generiert Anker fr \addcontentsline
\addcontentsline{toc}{chapter}{\indexname}
%-->
\printindex
....
[2] um die Indizes 'richtig' anzuspringen, setze:
...
\usepackage[plainpages=false]{hyperref}
...
Ich bin ueber TeX nicht enttaeuscht. Aber das liegt mit Sicherheit nicht an TeX, sondern an mir. :-|
edico

Kojo
13-10-2005, 12:26
Zuerst einmal vielen Dank für die schnelle Hilfe an edico!!! Ich war letzte Zeit echt mal gefrustet
und hab gedacht das klappt nie. :)

Der Tipp mit der \phantomsection ist echt gut, ich denke das Problem hat
der ein oder ander sicher auch. Diese Lösung funktioniert auch bei mir:

\cleardoublepage % neue Seite
\phantomsection % generiert Anker fr \addcontentsline
\addcontentsline{toc}{chapter}{\indexname}
\printindex

Das Problem mit den Links im Index besteht auch mit \usepackage[plainpages=false]{hyperref}.
Ich weiß mein Beispiel ist lang, aber das hatte ich schon benutzt. Ich benütze meine eigene
Vorlage , das Problem tritt aber auch z.B. bei book und report auf. Bei Klick auf dem Link
landet man auf der falschen Seite. :confused:

Das gleiche Problem wie in http://www.mrunix.de/forums/showthread.php?t=41201&highlight=index
leider auch noch ohne Lösung


Auf Wunsch habe ich das "Beispiel" weiter gekürzt.
---------------------------------------------------------------------------------------------
\documentclass[11pt,twoside,a4paper]{book}
\usepackage{makeidx}
\usepackage[
pdftex,bookmarks,bookmarksopen=true,bookmarksnumbe red=false,plainpages=false,
pdfpagelabels,hypertexnames=false,citebordercolor= 000,
linkbordercolor=000,colorlinks=true]{hyperref}
\makeindex
\parindent0pt

\begin {document}
\pagenumbering{roman} % Römisch numeriert ---------------------------

Es funktioniert: Alle Zahlen werden richtig geschrieben! \\\\
Problem: Hyperlinks im Index springen auf die falsche Seite !!!
(liegt an den zwei verschiedenen Seitennumerierungen, die ich aber
beibehalten will)\\\\

\pdfbookmark[0]{Vorwort}{Vorwort}
\chapter*{Danksagung}
\pdfbookmark[1]{Danksagung}{Danksagung}
bla bla bla

\tableofcontents % Inhaltsverzeichnis hier einfügen
\pdfbookmark[1]{Inhaltsverzeichnis}{Inhalt}

% ------------------------------- Seitenzahl zurückgesetzt und auf arabisch umgeschaltet
\chapter{eins}
\setcounter{page}{1}
\pagenumbering{arabic}
Kaffee-eins \index{Kaffeeeins}

\chapter{zwei}
Kaffee-zwei \index{Kaffeezwei}

\appendix
\cleardoublepage
\phantomsection
\addcontentsline{toc}{chapter}{\indexname}{}
\printindex

\end {document}

etilli33
13-10-2005, 12:52
Ich schätze mal nicht, dass das dir hilft, aber es wurde hier oft darüber geschrieben, doch die Treiber wegzulassen, beim graphixs, wie beim hyperref-Paket -- mein hyperref nimmt automatisch einen anderen Treiber (ich weiß nicht mehr, hpdf oder so?) vielleicht kann der die Links ja besser setzen? Ohne viel Hoffnung auf Erfolg...

till

Kojo
13-10-2005, 13:01
Hi Till,

vielen Dank für den Tipp, aber auch ohne den Treiber bzw einem anderen funktioniert es nicht.

Gruß Kojo

Kojo
13-10-2005, 14:10
Bei hyperref folgende Kombination verwenden:

\usepackage[ pdftex, plainpages=false, pdfpagelabels, hypertexnames=true] {hyperref}.

Gruß Sven :cool: