Inhaltsverzeichnis verlinkt auf falsche Seite

Inhalt, Abbildungen, Tabellen, Quellcodes und andere Verzeichnisse


PS

Inhaltsverzeichnis verlinkt auf falsche Seite

Beitrag von PS »

Hallo zusammen,

ich schreibe gerade meine Abschlussarbeit in LaTex und nutze das hyperref Paket. Wenn ich im Inhaltsverzeichnis auf das zweite Kapitel klicke, wird leider die falsche Seite aufgerufen. Hat jemand eine Idee woran das liegen kann?

Vielen Dank!

Code: Alles auswählen

\documentclass[hyperref]{scrartcl}
\RequirePackage[ngerman]{babel}
\addtokomafont{section}{\clearpage}

\newenvironment{preface}{
}
{
  \cleardoublepage
}

\RequirePackage[]{hyperref}


\begin{document}
\begin{preface}
	\tableofcontents
\end{preface}

\section{Verlinkt richtig}
\section{Verlinkt falsch}

\end{document}

Gast

Beitrag von Gast »

Das liegt daran, dass du mit \clearpage eine Anweisung in der Fonteinstellung von section, die gar keine Fonteinstellung ist. In der Anleitung ist sehr deutlich angegeben, was bei \setkomafont und \addtokomafont erlaubt ist und was nicht!

Bei Anwendung der Fonteinstellung ist der Anker für den Link bereits gesetzt. Es ist also auch daher falsch, das so zu machen.

Mach es einfach richtig und verwende eine Klasse, die tatsächlich Kapitel bietet:

Code: Alles auswählen

\documentclass[hyperref]{scrreprt}
\usepackage[ngerman]{babel}

\usepackage{hyperref}


\begin{document}
\tableofcontents

\chapter{Verlinkt richtig}
\chapter{Verlinkt nicht falsch}

\end{document}

PS

Beitrag von PS »

Danke für die schnelle und auch funktionierende Lösung!

Leider ist sie für mich etwas unbefriedigend, weil ich alles was vor \begin {document} steht nur aus der Univorlage für das Minimalbeispiel herauskopiert habe. (In der Vorlage sind natürlich noch wesentlich mehr Dinge angepassst, die ich aber nicht mit angegeben habe).

Falls es also keine Lösung gibt, ohne die Klasse anzupassen, heißt es für mich also die komplette Vorlage anpassen (nicht gerade Sinn einer Vorlage...) oder auf Word auszuweichen. :(

Trotzdem vielen Dank!

Gast

Beitrag von Gast »

Nimm es als Hinweis dafür, dass die Vorlage durchaus kritisch zu hinterfragen ist: → Minimale Vorlage vs. maximale Probleme

Du kannst natürlich auch den für die Vorlage Zuständigen fragen, was er sich dabei gedacht hat und warum er sich nicht an die KOMA-Script-Anleitung hält und warum er, wenn er offensichtlich Kapitel haben will, nicht eine Klasse verwendet, die Kapitel unterstützt. Wenn niemand für die Vorlage zuständig ist (wir sind es ganz gewiss nicht) und niemand für die Vorlage Support leistet, dann ist sie ohnehin ein Muster ohne Wert. Der KOMA-Script-Autor jedenfalls leistet für das, was er in Form von KOMA-Script oder auf komascript.de bereit stellt, intensiv Support. Da sollte man sich vielleicht auch ein wenig daran halten, was er dokumentiert und sich nicht derart stümperhaft darüber hinweg setzen.

Wir können jedenfalls nichts dafür, wenn die an Unis derart schlechte Vorlagen verbreitet werden.

Ob du mit Word schneller und besser zum Ziel kommst, musst du selbst entscheiden. Es gibt mit Sicherheit Anwender, bei denen das der Fall ist. Es muss auch nicht jeder LaTeX verwenden. Auf der anderen Seite gibt es fast nichts, wofür ich Word verwenden möchte.

markusv
Forum-Meister
Forum-Meister
Beiträge: 828
Registriert: Do 3. Sep 2015, 17:20
Wohnort: Leipzig

Beitrag von markusv »

Der Sinn einer Vorlage ist aber auch, dass man nicht ewig herum suchen und anpassen muss, da scheinbar die einfachsten Dinge (wie Verlinkung innerhalb des Dokumentes) nicht funktionieren.

Klingt leider wieder mal nach minimale Vorlage vs. maximale Probleme.
Wäre Microsoft Word für das Schreiben von Büchern entwickelt worden,
würde es Microsoft Book heißen.

Unkomplizierte und schnelle LaTeX-Hilfe, bspw. Erstellung von Vorlagen und Bewerbungen:
Help-LaTeX@web.de

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4014
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

warum er, wenn er offensichtlich Kapitel haben will, nicht eine Klasse verwendet, die Kapitel unterstützt.
Nun, vielleicht weil er eben doch nicht Kapitel in ihrer vollen Schönheit will. Da sind ja schon mehr Unterschiede als nur das \clearpage: Abstände, Formatierung im Inhaltsverzeichnis.

Zudem bedeutet die harte Festlegung, dass nur chapter \clearpage kann, dass man oft zwei Klassen schreiben muss, nur um zwischen "\clearpage vor der obersten Ebene oder nicht" wechseln zu können - und die Nutzer werden gezwungen schon am Anfang sich für die richtige Klasse zu entscheiden.

Ich hielte es für gar nicht schlecht, wenn es eine saubere, einfache Umsetzung "\section mit clearpage" in scrartcl gäbe. (oder umgekehr eine einfach Umsetzung von "chapter ohne clearpage" in scrreprt).

PS

Beitrag von PS »

Ich habe eine Lösung für mein Problem gefunden, auch wenn ich nicht erklären kann, weshalb es so funktioniert:

Ich habe einfach include statt section genutzt. Das ganze sieht dann so aus:

Code: Alles auswählen

\documentclass[hyperref]{scrartcl}
\RequirePackage[ngerman]{babel}
\addtokomafont{section}{\clearpage}

\newenvironment{preface}{
}
{
  \cleardoublepage
}

\RequirePackage[]{hyperref}


\begin{document}
\begin{preface}
   \tableofcontents
\end{preface}

\section{Verlinkt richtig}
\include{TestInclude}

\end{document}
und die TestInclude.tex enthält

Code: Alles auswählen

\section{Verlinkt falsch}

Kann das jemand erklären??

Auf jeden Fall schon mal vielen Dank für die bisherigen Antworten!

Benutzeravatar
u_fischer
Forum-Meister
Forum-Meister
Beiträge: 4014
Registriert: Do 22. Nov 2012, 11:09
Kontaktdaten:

Beitrag von u_fischer »

\include führt ein \clearpage aus. Du könntest auch einfach \clearpage \section{...} schreiben.

Gast

Beitrag von Gast »

u_fischer hat geschrieben:Nun, vielleicht weil er eben doch nicht Kapitel in ihrer vollen Schönheit will. Da sind ja schon mehr Unterschiede als nur das \clearpage: Abstände, Formatierung im Inhaltsverzeichnis
Und welche davon kann man bei KOMA-Script nicht relativ einfach ändern?
u_fischer hat geschrieben:Ich hielte es für gar nicht schlecht, wenn es eine saubere, einfache Umsetzung "\section mit clearpage" in scrartcl gäbe.
Nun, den Stil chapter gibt es in scrartcl verständlicher Weise nicht. Aber es gibt den Stil part und \partheadstartvskip etc.:

Code: Alles auswählen

\documentclass{scrartcl}

\usepackage{mwe}

\RedeclareSectionCommand[style=part,prefixfont={\usekomafont{section}}]{section}
\renewcommand*{\partheadstartvskip}{\clearpage}
\renewcommand*{\partheadmidvskip}{\enskip}

\begin{document}
\section{Erster Abschnitt}
\blindtext
\section{Zweiter Abschnitt}
\blindtext
\end{document}
Das ist zugegeben etwas unpraktisch, wenn man auch \part verwendet, weil man dann etwas umständlich \parthead…vskip von der aktuellen Ebene abhängig machen muss.
u_fischer hat geschrieben:oder umgekehr eine einfach Umsetzung von "chapter ohne clearpage" in scrreprt
Das ist nun wirklich kein Problem. Man kann per \RedeclareSectionCommand auch den Stil section für Kapitel einstellen:

Code: Alles auswählen

\documentclass{scrreprt}

\usepackage{mwe}

\RedeclareSectionCommand[style=section]{chapter}

\begin{document}
\chapter{Erstes Kapitel}
\blindtext
\chapter{Zweites Kapitel}
\blindtext
\end{document}

Gast

Beitrag von Gast »

Anonymous hat geschrieben:

Code: Alles auswählen

\documentclass{scrartcl}

\usepackage{mwe}

\RedeclareSectionCommand[style=part,prefixfont={\usekomafont{section}}]{section}
\renewcommand*{\partheadstartvskip}{\clearpage}
\renewcommand*{\partheadmidvskip}{\enskip}

\begin{document}
\section{Erster Abschnitt}
\blindtext
\section{Zweiter Abschnitt}
\blindtext
\end{document}
Das geht eigentlich auch einfacher:

Code: Alles auswählen

\documentclass[headings=normal]{scrreprt}

\usepackage{mwe}

\let\subparagraph\paragraph
\let\paragraph\subsubsection
\let\subsubsection\subsection
\let\subsection\section
\let\section\chapter

\begin{document}
\section{Erster Abschnitt}
\blindtext
\section{Zweiter Abschnitt}
\blindtext
\end{document}
:wink:

Antworten