PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : hyperlink im Inhaltsverzeichnis nur auf den Seitenzahlen



pierremassello
09-06-2008, 10:25
Hallo,

ich verwende die document class "book" zum erstellen meiner Diplomarbeit. Das Inhaltsverzeichnis für bekanntlich dort automatisch erstellt. Dabei werden sowohl die übernommenen Überschriften, also auch die dazu gehörigen Seitenzahlen als Hyperlinks im pdf dargestellt. Klick man drauf kommt man direkt zum Kapitel...

Da es relativ häßlich ist um jeden Eintrag des inhaltsverzeichnisses einen roten hyperlink Kasten zu haben, wollte ich wissen, ob es eine Möglichkeit gibt, diesen für die Einträge des Inhaltsverzeichnisses zu entfernen und den hyperlink nur bei den Seitenzahlen an zu zeigen.

Vielen Dank für eure Hilfe

Philip

Stefan_K
09-06-2008, 13:11
Hallo Philip,

Du könntest die pdfborder-Option für hyperref verwenden, z.B.:

\usepackage[colorlinks=false, pdfborder={0 0 0}]{hyperref}
Oder Du setzt colorlinks auf true und etwa linkcolor auf black (ggf. weitere Farben wie filecolor, citecolor, ...), dann wird auch kein Rahmen gesetzt.
Eine andere Möglichkeit wäre, die Option linktocpage als false zu setzen, dann werden die Seitennummern verlinkt, aber nicht der Text, das betrifft toc, lof und lot.

Weitere Erklärungen findest Du im hyperref-manual (http://www.tug.org/applications/hyperref/manual.html).

Viele Grüße,

Stefan

pierremassello
10-06-2008, 13:26
Hallo,

ich habs mit

\usepackage[colorlinks=false, pdfborder={0 0 0}]{hyperref}

versucht. Da kommt eine Fehlermeldung:

Missing \begin{document}.

Ich hab dann mal in diese Tutorial geschaut. da steht was von "Some options can be given at any time, but many are restricted: before \begin{document}, only in \usepackage[...]{hyperref}, before first use, etc.". Ich verstehe diesen Hinweis nicht ganz aber kann es sein, dass hier mein Problem liegt. Bin leider noch nicht so lange mit Latex dabei

Gruss

Philip

Stefan_K
10-06-2008, 13:38
Hallo Philip,

der Fehler muss woanders liegen. Schau mal nach, zu welcher Zeile dieser Fehler angezeigt wird. Bei mir funktioniert folgendes Minimalbeispiel wie beabsichtigt:

\documentclass[a4paper,10pt]{scrartcl}
\usepackage[colorlinks=false, pdfborder={0 0 0}]{hyperref}
\begin{document}
\tableofcontents
\newpage
\section{Eins}
Text
\newpage
\section{Zwei}
Text
\end{document}

Stefan

pierremassello
10-06-2008, 13:58
Hallo Stefan,

ich benutze ein documentenclass namens wissdoc (siehe Anhang). Darin wird u.a. definiert, dass das ganze Dokument auf book basiert und eine ganze Menge andere Kram definiert.

Unter " PDF dependet stuff"

gib es ein usepackage{color} was anscheid fuer die link-Farbe verantwortlich ist. Wenn ich da allerdings linkcolor als option reinsetze gibts einen Fehler.

da drunter gibts noch das von Dir vorgeschlagene {hyperref} package. Auch da habe ich colorlinks=false, pdfborder={0 0 0} eigefuegt; aber leider hat das nichts bewirkt. Immerhin hat es kompiliert. hast Du noch eine Idee?

Gruss

Philip

pierremassello
10-06-2008, 14:11
kurze Nachtrag:
mit dem pdfborder {0 0 0} verschwindet die rote Umrandung, allerdings auch für alle anderen links

Stefan_K
10-06-2008, 14:27
Dann schau es Dir mal mit

\usepackage[linktocpage=true]{hyperref}
an.

Stefan

pierremassello
10-06-2008, 14:45
Ich hab das mal so da rein kopiert:

\usepackage[raiselinks=true,%
bookmarks=true,%
bookmarksopenlevel=1,%
bookmarksopen=true,%
bookmarksnumbered=true,%
hyperindex=true,%
linktocpage=true%neu
plainpages=false,% correct hyperlinks
pdfpagelabels=true,% view TeX pagenumber in PDF reader
pdfborder={0 0 0.5}]{hyperref} % erzeuge Hyperlinks z.B. für pdflatex
%\usepackage[CJKbookmarks]{hyperref}

Leider ergibt das keine Änderungen

Wenn ich komplett in das wissdoc.cls übernehme

\usepackage[linktocpage=true]{hyperref}

gibts eine Fehlermeldung "option clash" in dieser Zeile

übern

Stefan_K
10-06-2008, 14:51
Vorsicht, lade hyperref nicht zweimal, also nicht einmal in wissdoc.cls und einmal in Deinem Dokument. Wenn es in wissdoc.cls bereits geladen wird, dann kannst Du entweder linktocpage=true dorthin mit schreiben, oder Du schreibst in der Präambel Deines Dokuments (statt \usepackage[...]{hyperref}) dann

\hypersetup{linktocpage=true}

Generell sollte man darauf achten, hyperref als letztes Paket zu laden (mit Ausnahmen). Daher könnte man erwägen, es nicht in wissdoc.cls zu laden, sondern erst in Deinem Dokument als letztes Paket.

Stefan

pierremassello
10-06-2008, 16:45
Hallo Stephan,

ich habe eine Möglichkeit gefunden, so dass im Inhaltsverzeichnis und Abb.-Verzeichnis keine Rahmen sind und im Rest des Dokument die Rahmen wieder auftauchen (z.B. für Literaturverweise, Verweise auf andere Kapitel etc.). Dazu habe ich im Hauptdokument folgendes eingefügt:

\hypersetup{pdfborder={0 0 0}}
{\parskip 0pt\tableofcontents} % toc bitte einzeilig
\listoffigures
\hypersetup{pdfborder={0 0 0.5}} % stellt Rahmen wieder her
}

Mein ursprüngliches Problem, dass ich im Inhaltsverzeichnis nur die Seitenzahlen umrandet haben will habe ich allerdings noch nicht lösen können. Mal schaun, vielleicht fällt mir noch was ein.

Weiss Du zufällig ob es bei book Standart ist, dass für das Abb.-Verzeichnis immer eine Seite mehr als nötig erstellt wird? Mein Abb.-Verzeichnis passt auf eine Seite, aber danach kommt eine leer Seite und ich weiss nicht warum

Gruss

Philip

Stefan_K
10-06-2008, 16:53
Hallo Philip,

der Befehl \hypersetup{linktocpage=true} sollte genau dafür sorgen, dass nur die Seitenzahlen umrandet sind und der Text nicht. Der Text ist dann allerdings auch kein Link.
Wenn Du \hypersetup{linktocpage=true} verwendest, kannst Du die beiden \hypersetup{pdfborder= ...} weglassen. Hast Du das mal probiert?

Eine leere Seite wird bei Bedarf eingefügt, damit das folgende Kapitel auf einer rechten Seite beginnt, erkennbar an der ungeraden Seitennummer. Willst Du das ändern? Bei book ist openright Standard, man kann das Verhalten mit der Option openany an book ändern, wenn es denn sein muss.

Stefan