Links im Inhaltsverzeichnis falsch

Inhalt, Abbildungen, Tabellen, Quellcodes und andere Verzeichnisse


anjacra
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Mo 9. Mai 2016, 10:01

Links im Inhaltsverzeichnis falsch

Beitrag von anjacra »

Ich habe folgendes Problem:
Ich möchte ein Dokument sowohl als PDF als auch als HTML ausgeben. Bei der Ausgabe als PDF habe ich das Problem, dass meine unnummerierte Einleitung nicht korrekt im Inhaltsverzeichnis verlinkt ist und bei der Ausgabe als HTML ergibt sich das Problem, dass Inhaltsverzeichnis und Abbildungsverzeichnis falsch verlinkt sind.
Hier mal mein Beispiel:
\documentclass[10pt,toc=sectionentrywithdots]{scrartcl}
\usepackage[left=2.2cm,right=2.2cm,top=1.5cm,bottom=3.2cm, includeheadfoot]{geometry}

%Paket insbesondere wegen Umlaute noetig:
\usepackage{german}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{enumitem}

\usepackage[absolute]{textpos}

%Fuer Textfarben und Ueberschriftfarben:
\usepackage{xcolor}
\usepackage{graphicx}

\usepackage{longtable}
\usepackage{pdflscape}
\usepackage{float}

\usepackage {hyperref}
\hypersetup{pdfnewwindow,menucolor=green,linkcolor=blue,citecolor = blue,urlcolor=blue,colorlinks=true,pdfstartview = FitH,bookmarksopen = true,bookmarksnumbered = true,plainpages = false,hypertexnames = false,linktocpage=true}

\begin{document}

\phantomsection
\addcontentsline{toc}{section}{Inhaltsverzeichnis}
\tableofcontents

\clearpage
\phantomsection

\addsec{Einleitung}\label{Einleitung}
Text bla bla bla bla
ein Bild
\begin{figure} [H]
    \centering
    \includegraphics[width=14cm]{Logo.jpg}
    \caption{Ich bin ein Bild}\label{img:EinBild}
\end{figure}

\section{Erstes Kapitel}\label{ErstesKapitel}
Text bla bla bla bla
Noch ein Bild
\begin{figure} [H]
    \centering
    \includegraphics[width=14cm]{Logo.jpg}
    \caption{Ich bin ein anderes Bild}\label{img:NochEinBild}
\end{figure}

\clearpage
\phantomsection
\addcontentsline{toc}{section}{Abbildungsverzeichnis}
\listoffigures

\end{document}
Für die PDF-Generierung nutze ich pdflatex und für HTML htlatex.
Bei der HTML Ausgabe lasse ich bis zur dritten Ebene eigene Dateien erzeugen und nutze die Option notoc*
Nutzt man die Option "notoc*" nicht, dann erscheinen Inhaltsverzeichnis und Abbildungsverzeichnis doppelt, einmal mit korrektem und einmal mit falschem Link, ich könnte dann das \addcontensline weglassen, dafür fehlen sie dann bei der PDF-Ausgabe im Inhaltsverzeichnis...
Bzgl. des Problems mit der Einleitung bei PDF-Ausgabe habe ich noch gar nichts herausgefunden...
Konnte bisher auch im Internet keinen hilfreichen Hinweis finden, bin für jeden Tipp dankbar!

Besserwisser

Beitrag von Besserwisser »

Die nicht nummerierte Einleitung ist bei deinem Beispiel im PDF korrekt verlinkt. Trotzdem ist dein Code alles andere als ideal. So wie KOMA-Script nicht nummerierte Abschnitte wie die Einleitung korrekt verarbeiten kann, kann es auch Verzeichnisse einfach ins Inhaltsverzeichnis eintragen. Beim Inhaltsverzeichnis ist das aus gutem Grund ein klein wenig aufwändiger als bei den anderen Verzeichnissen:
\documentclass[10pt,toc=sectionentrywithdots,
  listof=totoc% unbedingt im scrguide nachlesen!
]{scrartcl}
\usepackage[left=2.2cm,right=2.2cm,top=1.5cm,bottom=3.2cm,
includeheadfoot]{geometry}% Für das Beispiel eigentlich unerheblich!
\setuptoc{toc}{totoc}% Unbedingt im scrguide nachlesen!
%Paket insbesondere wegen Umlaute noetig: (stimmt nicht!)
\usepackage[ngerman]{babel}% Paket german ist veraltet, german wäre außerdem
                           % veraltete Rechtschreibung

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

\usepackage{enumitem}% Für das Beispiel unerheblich!

\usepackage[absolute]{textpos}% Für das Beispiel unerhebicj!

%Fuer Textfarben und Ueberschriftfarben:
\usepackage{xcolor}
\usepackage{graphicx}

\usepackage{longtable}% Für das Beispiel unerheblich!
\usepackage{pdflscape}% Für das Beispiel unerheblich!
\usepackage{float}% Für das Beispiel unerheblich!

\usepackage {hyperref}
\hypersetup{pdfnewwindow,menucolor=green,linkcolor=blue,citecolor = blue,urlcolor=blue,colorlinks=true,pdfstartview = FitH,bookmarksopen = true,bookmarksnumbered = true,plainpages = false,hypertexnames = false,linktocpage=true}

\usepackage{mwe}% Stellt u. a. allgemein verfügbare Beispielabbildungen bereit

\begin{document}

\tableofcontents

\clearpage
\addsec{Einleitung}\label{Einleitung}
Text bla bla bla bla
ein Bild
\begin{figure}[htp]% Wer H platziert hat den Sinn von Gleitumgebungen nicht verstanden!
    \centering
    \includegraphics[width=14cm]{example-image}
    \caption{Ich bin ein Bild}\label{img:EinBild}
\end{figure}

\section{Erster Abschnitt}\label{ErsterAbschnitt}% scrartcl kennt keine Kapitel
Text bla bla bla bla
Noch ein Bild
\begin{figure}% Wer H platziert hat den Sinn von Gleitumgebungen nicht verstanden!
    \centering
    \includegraphics[width=14cm]{example-image-a}
    \caption{Ich bin ein anderes Bild}\label{img:NochEinBild}
\end{figure}

\clearpage
\listoffigures

\end{document}
Ich habe mir außerdem erlaubt, alles, was für ein Minimalbeispiel unerheblich ist, zu markieren, weil man unerhebliche Dinge in einem Minimalbeispiel eigentlich weglassen sollte. Ich habe es drin gelassen, damit du einfacher sehen kannst, was wirklich geändert werden sollte.

HTML-Erzeugung habe ich nicht mehr getestet, da ich schon bei der PDF-Ausgabe dein Problem nicht nachvollziehen konnte. Ich vermute daher, dass du mit einer sehr, sehr stark veralteten LaTeX-Installation arbeitest. Der Rat deshalb: Update.

Außerdem bräuchte ich zum Nachvollziehen des HTML-Problems ohnehin den genauen Aufruf, der für die HTML-Erzeugung verwendet wird. Deine diesbezügliche Beschreibung ist mir zu ungenau.

Besserwisser

Beitrag von Besserwisser »

Da es schnell ging, habe ich jetzt doch noch eben htlatex test.tex für mein Beispiel aufgerufen und dabei folgendes erhalten:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  
  "http://www.w3.org/TR/html4/loose.dtd">  
<html xml:lang="de" > 
<head><title></title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)"> 
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)"> 
<!-- html --> 
<meta name="src" content="test.tex"> 
<link rel="stylesheet" type="text/css" href="test.css"> 
</head><body 
>
  <h3 class="likesectionHead"><a 
 id="x1-1000"></a>Inhaltsverzeichnis</h3>
  <div class="tableofcontents">
  <span class="sectionToc" ><a 
href="#x1-2000" id="QQ2-1-2">Einleitung</a></span>
<br />  <span class="sectionToc" >1 <a 
href="#x1-30001" id="QQ2-1-4">Erster Abschnitt</a></span>
<br />  <span class="sectionToc" ><a 
href="#Q1-1-7">Abbildungsverzeichnis</a></span>
  </div>
                                                                                          
                                                                                          
  <h3 class="sectionHead"><a 
 id="x1-2000"></a>Einleitung</h3>
<a 
 id="x1-2000doc"></a>
<!--l. 36--><p class="noindent" >Text bla bla bla bla ein Bild <hr class="figure"><div class="figure" 
>
                                                                                          
                                                                                          
<a 
 id="x1-2001r1"></a>
                                                                                          
                                                                                          
<!--l. 40--><p class="noindent" ><img 
src="test0x.png" alt="PIC" class="graphics" width="398.33858pt" height="298.76509pt" ><!--tex4ht:graphics  
name="test0x.png" src="example-image.eps"  
-->
<br /> <div class="caption" 
><span class="id">Abbildung&#x00A0;1: </span><span  
class="content">Ich bin ein Bild</span></div><!--tex4ht:label?: x1-2001r1 -->
                                                                                          
                                                                                          
<!--l. 42--><p class="indent" >  </div><hr class="endfigure">
  <h3 class="sectionHead"><span class="titlemark">1  </span> <a 
 id="x1-30001"></a>Erster Abschnitt</h3>
<!--l. 45--><p class="noindent" >Text bla bla bla bla Noch ein Bild <hr class="figure"><div class="figure" 
>
                                                                                          
                                                                                          
<a 
 id="x1-3001r2"></a>
                                                                                          
                                                                                          
<!--l. 49--><p class="noindent" ><img 
src="test1x.png" alt="PIC" class="graphics" width="398.33858pt" height="298.76509pt" ><!--tex4ht:graphics  
name="test1x.png" src="example-image-a.eps"  
-->
<br /> <div class="caption" 
><span class="id">Abbildung&#x00A0;2: </span><span  
class="content">Ich bin ein anderes Bild</span></div><!--tex4ht:label?: x1-3001r2 -->
                                                                                          
                                                                                          
<!--l. 51--><p class="indent" >  </div><hr class="endfigure">
                                                                                          
                                                                                          
  <h3 class="likesectionHead"><a 
 id="x1-40001"></a>Abbildungsverzeichnis</h3>
<a 
 id="Q1-1-7"></a>
<div class="tableofcontents"><span class="lofToc" >1&#x00A0;<a 
href="#x1-2001r1">Ich bin ein Bild</a></span><br /><span class="lofToc" >2&#x00A0;<a 
href="#x1-3001r2">Ich bin ein anderes Bild</a></span><br />
</div>
   
</body></html>
Das sieht eigentlich auch mehr oder weniger korrekt aus. Lediglich ist die Verlinkung für das Abbildungsverzeichnis hinter die Überschrift, obwohl eine Verlinkung vor die Überschrift möglich wäre. Außerdem fehlt der Eintrag für das Inhaltsverzeichnis. Aber ganz ehrlich: Das ist auch gut so.

anjacra
Forum-Newbie
Forum-Newbie
Beiträge: 2
Registriert: Mo 9. Mai 2016, 10:01

Beitrag von anjacra »

Danke für den schnellen Hinweis, da bin ich jetzt ein ganzen Stück schlauer und der Lösung näher!

Antworten