PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Cref verlinkt auf Caption statt auf Bild



AliceDreamworld
17-09-2010, 12:43
Hallo,

ich benutze das hyperref Paket und das cleverref Paket.
Mein Kopf schaut also so aus:


\documentclass[12pt,english,a4paper,abstracton,bibtotoc,BCOR10mm]{scrreprt}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{caption}
\usepackage{natbib}
\bibliographystyle{apalike}
\usepackage{hyperref}
\usepackage[all]{hypcap}
\usepackage{cleveref}

Meine Grafiken schauen so aus:

\begin{center}
\includegraphics{bild.pdf}
\captionof{figure}[bildtitel]{bildcaption}
\label{fig:bild}
\end{center}

Mein Problem ist jetzt folgendes:

Ich habe ein Abbildungsverzeichnis, in dem ich durch anklicken der bildtitel mit hyperref zu meinen Bildern kommen möchte. Allerdings werde ich nur zur Caption geleitet. Der Captionsatz steht dann also immer ganz oben im Bild und ich muss immer erst hochscrollen. Woran kann das liegen? Ich kriege dazu weder einen Fehler oder eine Warnung aber das ist schon nervig.

Vielen Dank schon mal

edico
17-09-2010, 15:41
Vielleicht hilft dir folgender Link:



http://mrunix.de/forums/showthread.php?t=69070


edico

AliceDreamworld
17-09-2010, 17:32
Leider nicht wirklich... Ich habe vorher zu jedem captionof so eine Package caption warning bekommen von wegen dass hypcap dort ignoriert wird. Dann habe ich das hypcap Paket dazugenommen und die Warnungen sind weg, aber das Problem an sich, dass der Link zur Caption führt statt zum Bild, ist immer noch da. Ich habe Caption Version 3.1. so dass ich das hypcap scheinbar gar nicht bräuchte, aber ohne gibt es mir halt so viele Warnungen...
Ich bin ratlos... :( bin leider totaler Latex Amateur

AliceDreamworld
17-09-2010, 19:50
Ich muss noch dazu sagen, dass dieses Problem nur bei Bidlern auftritt die ich nicht in der figure Umgebung gemacht habe, wo ich also mit captionof arbeiten musste. Bei den \begin{figure} Grafiken klappt alles super.

bobmalaria
17-09-2010, 20:21
hi,

eventuell hilft es dir das caption paket in einer aktuellen version zu laden. es enthält die funktionalität von hypcap und du musst hypcap auch nicht mehr getrennt laden. damit sollte sich dein problem eingentlich lösen lassen. das eigentliche problem ist, dass kein gültiger anker für die caption gefunden werden kann. versuche mal folgendes



\listfiles
\documentclass{scrartcl}
\usepackage[hypcap=true]{caption}
\usepackage{hyperref}

\begin{document}

\listoffigures
\newpage
\section{ein bild}

\begin{minipage}{1\linewidth}
\captionsetup{type=figure}
\centering
\rule{1\textwidth}{100pt}
\caption{ein Bild}
\end{minipage}

\end{document}

sommerfee
18-09-2010, 08:03
Ich habe vorher zu jedem captionof so eine Package caption warning bekommen von wegen dass hypcap dort ignoriert wird.

Alle Fehlermeldungen und Warnungen des caption-Paketes sind im Anhang der Anleitung zum caption-Paket aufgeführt und erläutert.

In diesem Falle bedeutet die Warnung genau das, was du auch beobachtest, nämlich daß das caption-Paket den Hyperlink-Anker nicht auf den Anfang des Bildes setzen kann, weil es gar nicht weiß, wo das Bild anfängt. Beim Verwenden der figure-Umgebung ist es klar, wo das Bild anfängt, ohne figure-Umgebung hingegen ist das caption-Paket ratlos, und braucht daher die Mithilfe des Textautors via \captionsetup. (Siehe caption-Anleitung caption-deu.pdf, Abschnitt 6.5 "hyperref")


Dann habe ich das hypcap Paket dazugenommen und die Warnungen sind weg, aber das Problem an sich, dass der Link zur Caption führt statt zum Bild, ist immer noch da.

Die Warnung des caption-Paketes war ein berechtigter Hinweis; das hypcap-Paket spart sich diese einfach. Wenn man also die Verantwortung für das Setzen der Hyperlink-Anker durch das Laden des hypcap-Paketes an eben dieses Paket abgibt, hat man dadurch nichts gewonnen.

Liebe Grüße,
Axel

AliceDreamworld
21-09-2010, 14:54
Muss ich das denn in einer minipage machen? Oder kann ich das auch mit meiner ursprünglichen Art machen? Mein aktueller Code schaut so aus:

\begin{center}
\includegraphics{bild.pdf}
\captionof{figure}[bildtitel]{bildcaption}
\label{fig:bild}
\end{center}

Da ich sehr viele Grafiken habe, würde das einen großen Zeitaufwand kosten, jedes Bild umzuschreiben.

sommerfee
21-09-2010, 15:08
Muss ich das denn in einer minipage machen?

Nein, Hauptsache, du markierst den Anfang des Bildes mit \captionsetup{type=figure}, d.h. in der Regel vor dem \includegraphics, und nimmst dann \caption statt \captionof.

Meistens nimmt man aber eine Minipage (und keine center-Umgebung), damit es zwischen Bild und Beschriftung keinen Seitenumbruch geben kann.

Liebe Grüße,
Axel

Schweinebacke
21-09-2010, 15:23
Meistens nimmt man aber eine Minipage (und keine center-Umgebung), damit es zwischen Bild und Beschriftung keinen Seitenumbruch geben kann.
Wenn man keine figure-Umgebung, sondern nur eine minipage verwendet, klebt das Bild am Text. Außerdem muss man vor \begin{minipage} eventuell noch ein \noindent einfügen. Mit einer zusätzlichen center-Umgebung um die minipage kann man passenden Abstand zum Text vor und nach dem Bild einfügen und das \noindent sparen. Alternativ kann man natürlich ein \vspace{\intextsep} am Anfang und Ende der minipage einfügen. Aber wer kann sich das schon merken? center-Umgebung ist einfacher.

AliceDreamworld
21-09-2010, 16:56
Ok ich habe das jetzt mal an einem Bild versucht, also:

\begin{center}
\captionsetup{type=figure}
\includegraphics{bild.pdf}
\caption{bild}
\label{fig:bild}
\end{center}

Aber leider funktioniert das so nicht, er führt mich dann zum Deckblatt statt zum Bild. Welche Pakete und mit welchen Optionen brauche ich da denn?
Meine Paket Liste enthält folgendes:

\usepackage{caption}
\usepackage{hyperref}
\usepackage[all]{hypcap}

bobmalaria
21-09-2010, 17:01
hi,

versuche


\usepackage[hypcap=true]{caption}
\usepackage{hyperref}
%\usepackage[all]{hypcap}

wie auch im beispiel angegeben

AliceDreamworld
21-09-2010, 17:33
Juhu, es funktioniert! Vielen Dank :)