PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hyperref fehlerhaft



Jürgen
13-11-2015, 20:12
Hallo,

meine Hyperref funktioniert nicht mehr richtig.

Sections werden zu den mit Buchstaben nummerierten Sections verlinkt.

Subsections und subsubsections werden korrekt verlinkt. Die mit Buchstaben nummerierten Kapitel selbst werden auch korrekt verlinkt.

Genauer wird Kapitel subsection 1 auf A und 6 auf F verlinkt. Also ist quasi der Zähler nicht mitgerutscht für hyperref


\documentclass[12pt,oneside,a4paper,bibliography=totoc,listof=tot ocnumbered]{scrartcl}

\usepackage[left=2.5cm,right=2.5cm,top=2.5cm,bottom=2.3cm,foot skip=1cm]{geometry}

\usepackage[ngerman,english]{babel},

\usepackage[T1]{fontenc}
\usepackage{microtype}

\usepackage[cm-default]{fontspec}
\usepackage{xltxtra}
\usepackage{xunicode}


\usepackage{amsmath}
\usepackage[table]{xcolor}
\usepackage{graphicx}
\usepackage{wrapfig}
\usepackage{longtable} %ermöglicht Tabellen über mehrere Seiten
\usepackage[absolute]{textpos}
\usepackage{hyphenat}
\usepackage{multirow}
\usepackage{array}
\usepackage{url}
\usepackage{chngcntr}
\usepackage{tabularx}
\usepackage{natbib}
\bibliographystyle{dinat}

\usepackage{titlesec}

\titleformat*{\section}{\Large\bfseries}
\titleformat*{\subsection}{\large\bfseries}
\titleformat*{\subsubsection}{\large\bfseries}

%\newcommand*{\TABULARX}{}
%\let\TABULARX\tabularx
%\renewcommand*{\tabularx}{\phantomsection\TABULAR X}
%\usepackage[onehalfspacing]{setspace}
\linespread{1.5}

\usepackage[linkcolor=black,citecolor=black,urlcolor=black]{hyperref}

\begin{document}
\pagenumbering{Roman}
\renewcommand*\thesection{\Alph{section}}
\newpage

\section{First}
\phantomsection
\addcontentsline{toc}{section}{B. Definition of Task}
\setcounter{section}{2}
\setcounter{page}{3}
\tableofcontents
\newpage
\listoffigures
\newpage
\listoftables
\setcounter{page}{1}
\pagenumbering{arabic}
\newpage

\renewcommand{\thesection}{\arabic{section}}
\setcounter{section}{0}
\section{Main}
\section{Main 2}
\end{document}

u_fischer
14-11-2015, 14:49
Du verwendest die falsche Klasse, all diese \newpage zeigen klar, dass du eigentlich scrreprt oder scrbook benutzen solltest. Abgesehen davon: wenn du manuell Zähler änderst, musst man ggfs. den internen hyperref-Zähler mit ändern.


\documentclass[12pt,oneside,a4paper,bibliography=totoc,listof=tot ocnumbered]{scrartcl}
\usepackage[ngerman,english]{babel}
\usepackage{microtype}
\usepackage{fontspec}

\usepackage[linkcolor=black,citecolor=black,urlcolor=black]{hyperref}

\begin{document}
\pagenumbering{Roman}
\renewcommand*\thesection{\Alph{section}}
\renewcommand{\theHsection}{\Alph{section}}
\section{First}

\refstepcounter{section}
\addcontentsline{toc}{section}{B. Definition of Task}

\tableofcontents
\newpage
\listoffigures
\newpage
\listoftables
\newpage
\pagenumbering{arabic}
\setcounter{section}{0}
\renewcommand{\thesection}{\arabic{section}}
\renewcommand{\theHsection}{\arabic{section}}
\section{Main}
\section{Main 2}
\end{document}

Jürgen
14-11-2015, 21:10
Hallo genau danach habe ich bereits gesucht, aber nichts gefunden.

ich habe nun mit \refstepcounter{section}{0} rumprobiert.

Bringt leider nichts.

Was ist denn der äquivanelte befehl zu setcounter{section} den ich für hyperref an der stelle setzen muss?

esdd
14-11-2015, 21:55
Ulrike hat Dir das schöne und übersichtliche Beispiel nicht aus langer Weile gemacht. Lass es laufen und versuche zu verstehen, wie sie Dein Problem mit hyperref gelöst hat.

Jürgen
14-11-2015, 22:42
Ulrike hat Dir das schöne und übersichtliche Beispiel nicht aus langer Weile gemacht. Lass es laufen und versuche zu verstehen, wie sie Dein Problem mit hyperref gelöst hat.



Ich habe es probiert, in meinem Dokument ändert es aber nichts.

Ich weiß auch nicht wo ich \refstepcounter{section} hinpacken soll. dazu finde ich auch nichts in der Koma anleitung etc.

u_fischer
15-11-2015, 16:56
Mein Beispiel fügt nicht nur \refstepcounter neu ein und es ist auch nicht der Kern der Lösung, es ist bloß besser als \setcounter{section}{2} (ich aber aber sowieso nicht verstanden, was das \addcontentsline{toc}{section}{B. Definition of Task} in deinem Beispiel soll). Wirklich wichtig sind die Umdefinition von \theHsection, H steht dabei für hyperref.

Was \refstepcounter tut, kannst du in einer LaTeX-Einführung nachlesen.

Jürgen
16-11-2015, 19:45
Das fette H habe ich überlesen entschuldigung!