Verzeichnise: falsch angezeigt/verlinkt

Inhalt, Abbildungen, Tabellen, Quellcodes und andere Verzeichnisse


lis
Forum-Newbie
Forum-Newbie
Beiträge: 9
Registriert: Di 13. Aug 2013, 11:38

Verzeichnise: falsch angezeigt/verlinkt

Beitrag von lis »

Ich habe Pagestyle fancy und möchte, da ich duplex drucke, im Header immer an den äußeren Rändern die section in Großbuchstaben bzw. die subsection kleingeschrieben. (Wenn man ein Buch aufschlägt: die linke Seite entspricht einer Rückseite und zeigt die section an, die rechte Seite entspricht einer Vorderseite und zeigt eine subsection an). Das funktioniert auch soweit, nur hab ich ein paar Probleme mit meinen ganzen Verzeichnisen, die zudem auch im Inhaltsverzeichnis falsch angezeigt und verlinkt werden.

Hier meine Probleme:

Listings:
Der Link aus dem Inhaltsverzeichnis verweist aufs Inhaltsverzeichnis. (erledigt)

Abbildungsverzeichnis:
Der Link aus dem Inhaltsverzeichnis verweist auf Listings.

Literaturverzeichnis:
Der Link aus dem Inhaltsverzeichnis verweist auf eine Seite VORM Literaturverzeichnis. (erledigt)
Im Inhaltsverzeichnis steht "Literaturverzeichnis", als Überschrift steht aber "Literatur", auch im Header steht "Literatur" statt "LITERATURVERZEICHNIS"

Abkürzungsverzeichnis:
Der Link aus dem Inhaltsverzeichnis verweist aufs Abbildungsverzeichnis.(erledigt)
Im Header steht "Abkürzungsverzeichnis" statt "ABKÜRZUNGSVERZEICHNIS"

Wenn eine Seite mit einer section anfängt (es aber ggf. eine subsection vorhanden ist), im Header aber eigentlich eine subsection stehen soll, steht garnichts im header.

Glossar:
Im Inhaltsverzeichnis und als Überschrift steht korrekt "Glossar"
Der Link aus dem Inhaltsverzeichnis verweist aufs Literaturverzeichnis.
im Header steht "Glossar" statt "GLOSSAR"

Wäre es zudem möglich, Lesezeichen für die PDF einzufügen, ohne dass es sich um section o.ä. handelt? Konkret möchte ich das Inhaltsverzeichnis noch als Lesezeichen haben (beim Adobe Reader)

Und hier das Minimalbeispiel. Abkürzungen, Glossar und Literatur ist in einem anderen Verzeichnis:
\documentclass[a4paper,12pt,twoside,ngerman]{article}
\usepackage{setspace}
\setstretch{1.5}
\parindent0pt
\parskip6pt
\usepackage{lmodern}
\usepackage{microtype}
\usepackage[ngerman]{babel} % Paket für die neue deutsche Rechtschreibung
\hyphenation{plate-lets}
\tolerance=9999
\pretolerance=0

\usepackage{color}
\usepackage{listings} % Packet zum Erstellen von Listinings
\renewcommand\lstlistlistingname{Listings} % Definiert den Titel

\usepackage[
	pdfauthor={Vorname Nachname},
    pdftitle={Titel},
	pdfsubject={Bachelorarbeit},
    pdfkeywords={Ein paar Stichpunkte},
	pdfproducer={LateX with hyperref},
    pdfcreator={latex},
	colorlinks=true,
	linkcolor=black,
	anchorcolor=black,% Ankertext
	citecolor=black, % Verweise auf Literaturverzeichniseinträge im Text
	urlcolor=black, % Farbe der URLs
	backref % Back-Links zu den Kapiteln
]{hyperref}

\usepackage{fancyhdr} % Paket für den Pagestyle fancy

\usepackage[
	nonumberlist,	%keine Seitenzahlen anzeigen
	acronym			%ein Abkürzungsverzeichnis erstellen
]{glossaries}
\renewcommand*{\glspostdescription}{}
\makeglossaries
\newacronym{ADT}{ADT}{Android Development Tools}
\newacronym{ANR}{ANR}{Application Not Responding}
\newacronym{API}{API}{Application Programming Interface}
\newacronym{APK}{APK}{Application Package}
\newacronym{AVD}{AVD}{Android Virtual Device}

\newglossaryentry{glos:Glos1}{name=Glos1, description={Erster Glossareintrag.}}
\newglossaryentry{glos:Glos2}{name=Glos2, description={Zweiter Glossareintrag.}}
\newglossaryentry{glos:Glos3}{name=Glos3, description={Dritter Glossareintrag.}}
\newglossaryentry{glos:Glos4}{name=Glos4, description={Vierter Glossareintrag.}}

\title{TITEL}
\date{}
\author{}
\begin{document}
\maketitle
\thispagestyle{empty}

% leere Seite
\newpage
\thispagestyle{empty}
\mbox{}\cleardoublepage

\newpage
\fancyhf{}  % Kopf- und Fußzeile leeren 
\fancyfoot[LE,RO]{\thepage} 
\fancyhead[RE]{\slshape \rightmark}
\fancyhead[LO]{\slshape \leftmark}
\pagestyle{fancy}
\pagenumbering{roman}
\setcounter{page}{3} % Setzt die Seitenzahl auf 1 (zurück)
\section*{Kurzfassung}
\addcontentsline{toc}{section}{Kurzfassung}
\markboth{KURZFASSUNG}{KURZFASSUNG}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.

\newpage
\section*{Danksagung}
\addcontentsline{toc}{section}{Danksagung}
\markboth{DANKSAGUNG}{DANKSAGUNG}
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.


% leere Seite
\newpage
\thispagestyle{empty}
\mbox{}\cleardoublepage

\newpage
\parskip0pt %Absatz
\tableofcontents %Inhaltsverzeichnis	

\newpage
\let\stdsection\section 
\lstlistoflistings % Listiningsverzeichnis
\addcontentsline{toc}{section}{Listings}
\let\section\stdsection

\newpage
\let\stdsection\section 
\listoffigures % Abbildungsverzeichnis
\addcontentsline{toc}{section}{Abbildungsverzeichnis}
\let\section\stdsection

\newpage
\let\stdsection\section 
\glsaddall
\printglossary[type=\acronymtype, title=Abkürzungsverzeichnis, style=altlist]%, long4col, list, sublistdotted, indexgroup
\addcontentsline{toc}{section}{Abkürzungsverzeichnis}
\let\section\stdsection

%%%%%%%%%%%
%Hauptteil%
%%%%%%%%%%%
\parskip6pt %Absatz
\newpage
\setcounter{page}{1} % Setzt die Seitenzahl auf 1 (zurück)
\pagenumbering{arabic}

\section{Kapitel 1}
Lorem ipsum...
\newpage
\section{Kapitel 2}
Lorem ipsum...
\newpage
\section{Kapitel 3}
Lorem ipsum...
\newpage
\section{Kapitel 4}
Lorem ipsum...
\newpage
\section{Kapitel 5}
Lorem ipsum...
\newpage

\pagenumbering{roman}
\setcounter{page}{23} % Setzt die Seitenzahl auf 1 (zurück)

\bibliographystyle{alphadin}
\let\stdsection\section 
\bibliography{literatur}
\addcontentsline{toc}{section}{Literaturverzeichnis}
\let\section\stdsection

\newpage
\let\stdsection\section
\markboth{GLOSSAR}{GLOSSAR}
\printglossary[style=altlist]
\glsaddall
\addcontentsline{toc}{section}{Glossar}
\let\section\stdsection

\newpage
\section*{Ehrenwörtliche Erklärung}
\addcontentsline{toc}{section}{Ehrenwörtliche Erklärung}
\markboth{EHRENWÖRTLICHE ERKLÄRUNG}{EHRENWÖRTLICHE ERKLÄRUNG}
Lorem ipsum...
\end{document}
Zuletzt geändert von lis am Mi 14. Aug 2013, 07:34, insgesamt 1-mal geändert.

Epllus
Forum-Guru
Forum-Guru
Beiträge: 470
Registriert: So 23. Sep 2012, 17:31

Beitrag von Epllus »

Versuch mal die \addcontentsline nach \listoflistings, figures, etc. zu geben.
Z.B.
\lstlistoflistings % Listiningsverzeichnis 
\addcontentsline{toc}{section}{Listings} 


\listoffigures % Abbildungsverzeichnis 
\addcontentsline{toc}{section}{Abbildungsverzeichnis} 
Hoffe es hilft
Epllus

PS: Du ladest die Option „ngerman“ zweimal.
Zu \parinden0 und weiteren siehe l2tabu
\setcounter{page}{1} % Setzt die Seitenzahl auf 1 (zurück) 
\pagenumbering{arabic} 
du kannst die das setcounter sparen, da pagenumbering die Seitenzahl automatisch auf 1 setzt.
Was genau macht eigentlich
\let\stdsection\section 
?

Besserwisser

Ergänzungen

Beitrag von Besserwisser »

Das mit dem Versalsatz im Kolumnentitel solltest Du Dir noch einmal überlegen. Aus typografischer Sicht müsste man den nämlich ausgeglichen sperren, sonst ist er schrecklich. Etwas besser wären schon Kapitälchen, die man bei den meisten Fonts nicht unbedingt sperren muss. Außerdem würde es mich wundern, wenn Dir klar wäre, was Du mit \tolerance und \pretolerance einstellst …

Optionen mit Stringwert soll man bei hyperref übrigens nicht beim Laden, sondern per \hypersetup einstellen, weil hyperref nur dann die Kontrolle über die Codierung hat. Spielt im Beispiel zwar keine Rolle, man sollte sich das aber grundsätzlich richtig angewöhnen und wer weiß, was Du in Wirklichkeit da stehen hast …

Falls Du wirklich XeLaTeX verwendest, wie in den Optionen zu hyperref behauptet wird, schreit das übrigens nach fontspec statt nach lmodern (wobei fontspec in der Voreinstellung ebenfalls Latin Modern – aber über eine andere Schnittstelle – verwendet). Übrigens kann microtype mit XeLaTeX leider nur Protrusion. Mit LuaLaTeX kann es auch Expansion.

Du solltest übrigens bei Deinen Beiträgen hier im Forum BBCode nicht deaktivieren. Dann funktioniert vielleicht auch der Code-Tag. Außerdem taugt Code mit \input-Anweisungen nicht als vollständiges Minimalbeispiel.

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Ich habe so die Vermutung, dass das eine Vorlage sein könnte: Falls dem so ist, solltest du mal minimale Vorlage vs. maximale Probleme lesen. Eine KOMA-Klasse würde ich dir dann auch empfehlen.

LuaLaTeX ist noch im beta-Status, aber schon durchaus benutzbar. Wenn du spezielle Gründe für XeLaTeX gegenüber pdfLaTeX hast, könte LuaLaTeX eine Alternative sein.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

lis
Forum-Newbie
Forum-Newbie
Beiträge: 9
Registriert: Di 13. Aug 2013, 11:38

Beitrag von lis »

Erstmal vielen Dank! Ich hab meinen Eintrag oben entsprechend angepasst, leider weis ich nur nicht, wie ich die Einträge aus dem bib ins Beispiel mit reinmach?

Epllus, die Verlinkungen funktionieren jetzt, war wirklich die Position! Die PDF geh ich auf jeden Fall durch, konnte aber jetzt ehrlich gesagt noch nichts entdecken... Was
\let\stdsection\section
macht, weis ich leider selber nicht, darum hab ichs jetzt entfernt, macht keinen Unterschied. Das Problem ist, dass ich in Latex immer irgendwelche Vorlagen bekomme und dann das passende raussuch, weil ich mich nicht so gut auskenn... und jetzt am Ende krachts halt an manchen Stellen...

Besserwisser :D Kannst du mir dann evtl. ein paar Tips geben? Mein Prof möchte unbedingt diese Überschriften im Kopf haben, der Versalsatz ging automatisch dann von Latex aus. Ich fands garnicht so schlecht, dann wird schon verdeutlicht, dass es sich um eine höhere Ebene handelt. Wenn du alternativ Kapitälchen vorschlägst: wie bring ich das in Latex mit ein?
Soweit ich weis versucht pretolerance, dass die Zeilen mit Hilfe von Umbrüchen nicht länger werden und tolerance bietet dann beim späteren Durchlauf mehr Leerraum zur Verfügung. Ich hab die Werte auf ihre Extreme gesetzt, da ich sonst immerwieder Teile habe, die über eine Zeile hinauslaufen, vorallem bei Codeschnipsel die ich via \nolinkurl oder \lstinline einfüge ;)
Was in Hyperref steht hab ich oben ergänzt, das hypersetup schau ich mir dann noch an, da alles aber so funktioniert hab ich da nie nach einer Alternative geschaut...

Im Beispiel verwend ich LaTeX und PDFLaTeX, im hyperref stands nur so drin, weil ich im Original XeLaTeX verwende, da ich via fontspec eine Schrift einfüge:
\usepackage{fontspec}
\usepackage{lmodern}
\usepackage{microtype}
\setmainfont[Path = fonts/,
    BoldFont = akko-w01-bold.ttf,
    ItalicFont = akko-w01-italic.ttf,
    BoldItalicFont = akko-w01-bold-italic.ttf
 ]{akko-w01-regular.ttf}
Das wollt ich nur nicht im Minimalbeispiel, da ich die Schriften ja nicht mitliefern kann....

Johannes_B, was bedeutet das, mit dem KOMA-Script? Was würde das für mich für einen Unterschied machen? Wenn ich scrartcl statt article verwende, sind die ganzen Abstände anderst und die Schriftart der Überschriften...

Hätte jemand dann noch eine Idee, was ich mit dem header machen soll? Dass er zumindest korrekt angezeigt wird?

Benutzeravatar
Stefan Kottwitz
Admin
Admin
Beiträge: 2759
Registriert: Di 8. Jul 2008, 00:39
Kontaktdaten:

Beitrag von Stefan Kottwitz »

Hallo lis,
lis hat geschrieben:was bedeutet das, mit dem KOMA-Script? Was würde das für mich für einen Unterschied machen?
Bei KOMA-Script-Klassen lässt sich viel mehr leichter einstellen.
lis hat geschrieben:Wenn ich scrartcl statt article verwende, sind die ganzen Abstände anderst und die Schriftart der Überschriften...
scrartcl hat andere (m.E. bessere) Voreinstellungen als die Basisklassen. Zur Schrift siehe diese Frage von gestern: Wie erhalte ich die gleiche Schrift... wie mit Standardklassen?
Das korrigiert die Schriftfamilie und geht auch mit Deinen speziellen Schriften.

Wenn Du die Klassen optimal nutzen möchtest, dann siehe das umfangreiche Handbuch. Dort gibt es einen langen Abschnitt zu Kopf- und Fußzeilen.

Viele Grüße,

Stefan

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Wenn du allerdings kurz vor der Fertigstellung bist, dann solltest du dir KOMA fürs nächste Projekt vormerken.


Mit KOMA hätte das übrigens ungefähr so ausgesehen:
% XeLaTeX
\documentclass[headinclude=true,bibliography=totoc,listof=totoc,a4paper,12pt,twoside,parskip=full]{scrreprt}
\usepackage{fontspec}
\usepackage[ngerman]{babel}
\usepackage{setspace}
\onehalfspacing
\usepackage{blindtext}
\usepackage{microtype}

\usepackage[nouppercase,automark]{scrpage2}
\clearscrheadfoot
\pagestyle{scrheadings}
\ihead[]{\headmark}
\ofoot[\pagemark]{\pagemark}
%\setkomafont{pagehead}{%Kopfzeilen in Kapitälchen
%\normalfont\scshape}

\usepackage{xcolor}
\usepackage{listings}
\renewcommand\lstlistlistingname{Listings} 

\usepackage[style=numeric,backend=biber]{biblatex}
\addbibresource{biblatex-examples.bib}

\usepackage[
  colorlinks=true,
  anchorcolor=black,
  citecolor=black, 
  urlcolor=black, 
  %backref 
]{hyperref}

\usepackage[
  toc,
  section=chapter,
  nonumberlist,
  acronym,
  xindy
]{glossaries}

\renewcommand*{\glspostdescription}{}
\makeglossaries
\newacronym{ADT}{ADT}{Android Development Tools}
\newacronym{ANR}{ANR}{Application Not Responding}
\newacronym{API}{API}{Application Programming Interface}
\newacronym{APK}{APK}{Application Package}
\newacronym{AVD}{AVD}{Android Virtual Device}

\newglossaryentry{glos:Glos1}{name=Glos1,
description={Erster Glossareintrag.}} 
\newglossaryentry{glos:Glos2}{name=Glos2,
description={Zweiter Glossareintrag.}}
\newglossaryentry{glos:Glos3}{name=Glos3,
description={Dritter Glossareintrag.}}
\newglossaryentry{glos:Glos4}{name=Glos4,
description={Vierter Glossareintrag.}}

	\title{TITEL}
	\date{}
	\author{}

	\newcommand{\TEXT}{%
	\blindtext\par\blindtext\par\blindtext[2]
	\blindtext\par\blindtext\par\blindtext
	\section{Abschnitt}
	\blindtext\par\blindtext\par\blindtext
	\blindtext\par\blindtext\par\blindtext[2]
	\section{anderer Abschnitt}
	\blindtext\par\blindtext\par\blindtext[3]
	\blindtext\par\blindtext\par\blindtext[2]
      }
	\begin{document}

	\pagenumbering{roman}
	\maketitle

	\addchap{Kurzfassung} \blindtext

	\addchap{Danksagung} \blindtext

	\tableofcontents
	\listoffigures
	\lstlistoflistings
	\glsaddall
	\printglossary[type=\acronymtype,
	title=Abkürzungsverzeichnis,
	style=altlist]

\clearpage
\pagenumbering{arabic}

	\chapter{Kapitel 1}
	\TEXT \cite{herrmann}
	\chapter{Kapitel 2}
	\TEXT
	\chapter{Kapitel 3}
	\TEXT
	\chapter{Kapitel 4}
	\TEXT
	\chapter{Kapitel 5}
	\TEXT

	\printbibliography
	\printglossary[style=altlist]
	\glsaddall
	\addchap{Ehrenwörtliche Erklärung}
	\end{document}
Das soll die Vorteile von KOMA-script zeigen, aber kein Anstupser zum Wechseln sein.


Manches funktionert bei XeLaTeX und LuaLaTeX ein wenig anders, daher ist es wichtig zu wissen mit was du kompilierst.
Bei Verwendung von KOMA läuft auch manches anders als bei den Standardklassen. Und das ist auch gut so. Danke Markus.
Zuletzt geändert von Johannes_B am Mi 14. Aug 2013, 15:09, insgesamt 1-mal geändert.
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

Besserwisser

Beitrag von Besserwisser »

Epllus hat geschrieben:Versuch mal die \addcontentsline nach \listoflistings, figures, etc. zu geben.
Z.B.
\lstlistoflistings % Listiningsverzeichnis 
\addcontentsline{toc}{section}{Listings} 


\listoffigures % Abbildungsverzeichnis 
\addcontentsline{toc}{section}{Abbildungsverzeichnis} 
Das trägt dann aber die letzte Seite des Verzeichnisses oder sogar die Seite danach ins Inhaltsverzeichnis ein, ist also eigentlich ganz und gar nicht empfehlenswert. Richtig wäre, die \addcontentsline-Anweisung per \addtocontents an den Anfang des Verzeichnisses zu setzen. Einfacher geht es, wie gesagt mit der KOMA-Script-Klasse scrartcl an Stelle von article oder eben scrreprt oder scrbook (je nach verwendeter Standardklasse).

lis
Forum-Newbie
Forum-Newbie
Beiträge: 9
Registriert: Di 13. Aug 2013, 11:38

Beitrag von lis »

hey
nochmal danke für eure Mühe.
Das Koma-Script überleg ich mir dann fürs nächste mal, dieses mal ist es wohl wirklich zu spät...
Dass die Seitenzahl im Inhaltsverzeichnis immer die letzte des jeweiligen Verzeichnisses anzeigt, ist mir garnicht aufgefallen.
Sobald ich ein Verzeichnis jedoch mit z.B.
\newpage
\addtocontents{toc}{Abbildungsverzeichnis}
\listoffigures % Abbildungsverzeichnis
hinzufüge, bekomme ich beim Zweiten Durchlauf einen Fehler (! LaTeX Error: Something's wrong--perhaps a missing \item.)
Ich glaub, ich lass die Verzeichnisse jetzt einfach aus dem Inhaltsverzeichnis draußen, auch wenn ich sie gern drin hätte...

Besserwisser

Beitrag von Besserwisser »

lis hat geschrieben:Sobald ich ein Verzeichnis jedoch mit z.B.
\newpage
\addtocontents{toc}{Abbildungsverzeichnis}
\listoffigures % Abbildungsverzeichnis
hinzufüge, bekomme ich beim Zweiten Durchlauf einen Fehler (! LaTeX Error: Something's wrong--perhaps a missing \item.)
Das ist ja auch falsch. Entweder
\cleardoublepage
\csname phantomsection\endcsname
\addcontentsline{toc}{section}{\protect\listfigurename}% section je nach Klasse durch chapter ersetzen!
\listoffigures
oder in die Präambel
\AtBeginDocument{%
  \addtocontents{lof}{%
    \protect\addcontentsline{toc}{section}{\protect\listfigurename}% section je nach Klasse durch chapter ersetzen!
  }%
}
Letzteres hat den Vorteil, dass das Verzeichnis nicht zwingend eine neue Seite beginnen muss.

Alternativ: Siehe Paket tocbibind, das man wie obigen Code auch jedoch nicht mit KOMA-Script verwenden sollte. Bei KOMA-Script verwendet man stattdessen die in der KOMA-Script-Anleitung und im KOMA-Script-Buch dokumentieren Optionen, mit denen das ganz einfach und vollautomatisch geht.

Antworten