captionof und hyperref

Tabellen und Grafiken erstellen und anordnen


Luise
Forum-Anfänger
Forum-Anfänger
Beiträge: 24
Registriert: Fr 2. Nov 2012, 14:47

Beitrag von Luise »

Hallo,


das hilft mir leider bei der Verifikation des von Benito genannten Problems nicht weiter:

Hier der *.aux Code:
\relax 
\providecommand\hyper@newdestlabel[2]{}
\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
\global\let\oldcontentsline\contentsline
\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
\global\let\oldnewlabel\newlabel
\gdef\newlabel#1#2{\newlabelxx{#1}#2}
\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
\AtEndDocument{\ifx\hyper@anchor\@undefined
\let\contentsline\oldcontentsline
\let\newlabel\oldnewlabel
\fi}
\fi}
\global\let\hyper@last\relax 
\gdef\HyperFirstAtBeginDocument#1{#1}
\providecommand\HyField@AuxAddToFields[1]{}
\providecommand\HyField@AuxAddToCoFields[2]{}
\@writefile{toc}{\contentsline {section}{\numberline {0.1}123}{2}{section.0.1}}
\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces 123\relax }}{2}{figure.0.1}}
In welcher Zeile sehe ich, wie der Anker gesetzt ist und ob da wirklich eine relative Angabe dabei ist, die sagt dass 4 Zeilen/Seiten nach oben gegangen werden muss?

Gruß

hjksdftgsdz

Beitrag von hjksdftgsdz »

Johannes_B hat geschrieben:Da die Grafik ja meist oberhalb der Caption ist, war das Bild nie sichtbar. Damals kümmerte sich das hypcap-package um dieses "Phänomen".
Das hypcap-Paket kümmert sich auch immer noch (bei Bedarf) darum. Das caption-Paket auch. Beide Pakete sind aber darauf angewiesen, daß man ihnen auf irgendeine Weise mitteilt, wo denn nun der Anfang des Bildes ist. (Bei "figure" und "table" nehmen beide Paket an, daß der Anfang des Bildes am Anfang der Umgebung "figure" bzw. "table" ist. Hier ist aber weder "figure" noch "table" verwendet worden.) Ohne diese Information bleibt dem hyperref-Paket gar nichts anderes übrig, als auf die \caption anstelle des Bildes zu verweisen.

Beim caption-Paket platziert man dazu ein \captionsetup{type=figure} direkt vor das Bild und verwendet nicht \captionof, sondern stattdessen das reguläre \caption.
Hyperref verlinkt jetzt automatisch aan die obere Stelle des Objektes.
Wie soll es das machen, wenn es gar nicht weiß, wo die "obere Stelle des Objektes" ist?

Luise
Forum-Anfänger
Forum-Anfänger
Beiträge: 24
Registriert: Fr 2. Nov 2012, 14:47

Beitrag von Luise »

Hallo,

das ist prinzipiell richtig, was Du schreibt. Aber die Drehung mit sideways führt dazu, dass der Anker mitgedreht wird und damit das nicht gewünschte Ergebnis eintritt, dass die Verlinkung unter das Bild zeigt.


Ich lasse mich da aber gerne korrigieren.


Gruß

Luise

Luise
Forum-Anfänger
Forum-Anfänger
Beiträge: 24
Registriert: Fr 2. Nov 2012, 14:47

Beitrag von Luise »

So funktioniert es doch mit \captionsetup:
\documentclass[12pt,a4paper]{book} 
\usepackage{graphicx} 
\usepackage{caption} 
\usepackage{rotating} 
\usepackage{color} 
\usepackage[hidelinks, linktoc = all]{hyperref} 

\begin{document} 
\listoffigures 
\clearpage 
\section{123} 
\begin{center}
\captionsetup{type=figure}
  \begin{sideways} 
   \begin{minipage}{0.9\textheight} 
     \textcolor{blue}{\rule{0.9\textwidth}{5cm}} 
     \caption{123} 
   \end{minipage} 
  \end{sideways} 
\end{center} 
\end{document}

Antworten