Listingverzeichnis überschreibt Namen im Fancyhdr

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Listingverzeichnis überschreibt Namen im Fancyhdr

Re: Listingverzeichnis überschreibt Namen im Fancyhdr

von KOMA » Mi 14. Apr 2021, 15:38

Entweder die \addcontentsline-Anweisung in die Hilfsdatei mit dem Quellcodeverzeichnis schreiben oder ein \clearpage (bzw. \cleardoubepage) davor schreiben oder \lstlistoflistings so abändern, das davon der Eintrag zum richtigen Zeitpunkt erzeugt wird. Das geht beispielsweise mit Hilfe von scrhack, weil man dann einfach das entsprechende Feature von tocbasic verwenden kann. Noch ein klein wenig einfacher wird es, wenn man auch noch eine KOMA-Script-Klasse verwendet. Dann sorgt scrhack dafür, dass auch listings auf Option toc=listof bzw. listof=totoc hört.

Re: Listingverzeichnis überschreibt Namen im Fancyhdr

von schokotafel » Mi 14. Apr 2021, 15:17

Danke, das einfügen von \pagestyle{fancy} hat geholfen.

Wie kann ich denn sicher stellen, dass die Referenz auf die richtige Seite zeigt?

Re: Listingverzeichnis überschreibt Namen im Fancyhdr

von KOMA » Mi 14. Apr 2021, 14:38

Wenn ich das Laden der bei uns nicht vorhandene Datei Deckblatt auskommentiere, kann ich das Problem nicht reproduzieren. Du kannst das selbst mit dem LaTeX-Ausgabe-Knopf unter dem Code in deinem Beispiel ausprobieren. Daher kann ich bezüglich des Problems derzeit nur auf die Minimalbeispiel-Anleitung oder wahlweise den zweiten Link in der ersten Zeile meiner Signatur hinweisen.

Ich könnte allenfalls noch erwähnen, dass

  • \usepackage[utf8]{inputenc} eigentlich nicht mehr notwendig sein sollte. UTF-8 ist seit LaTeX 2018/04/01, also seit über drei Jahren bei allen TeX-Engines Voreinstellung;

  • das Mehrfache Laden von Paketen nicht zweckmäßig ist und bei Änderungen leicht zu Fehlern führt;

  • hyperref besser hinter allen Paketen geladen werden sollte, für die nicht ausdrücklich dokumentiert ist, dass sie danach zu laden sind;

  • fancyhdr AFAIK nur aktiv wird, wenn man auch \pagestyle{fancy} verwendet;

  • beim gezeigten Code nicht sicher ist, dass der Eintrag des Quellenverzeichnisses ins Inhaltsverzeichnis auch die richtige Seitenzahl trägt.

Listingverzeichnis überschreibt Namen im Fancyhdr

von schokotafel » Mi 14. Apr 2021, 13:46

Hallöchen,

ich benötige in meiner Aktuellen Arbeit recht viele Codesnippets, die ich durch das lstings Paket implementiert habe und möchte entsprechend auch ein Verzeichnis der Quelltexte erstellen. Allerdings ist mir aufgefallen, dass der Titel des Listing Verzeichnis auf allen Seiten im Header auftaucht und ich verstehe nicht weshalb.

\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage{subfiles}
\usepackage[ngerman]{babel}
\usepackage{csquotes}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage[onehalfspacing]{setspace}
\usepackage{fancyhdr}
\usepackage[nohyperlinks,printonlyused]{acronym}
\usepackage{pdfpages}
\usepackage{listings}
\usepackage{hyperref}
\usepackage{booktabs}
\usepackage{svg}
\usepackage{xcolor}
\usepackage{caption}
\usepackage{listings}
\usepackage[a4paper, margin=3.45cm]{geometry}
\usepackage{float}
\usepackage[toc,page]{appendix}

\lstset{basicstyle=\ttfamily,
	showstringspaces=false,
	commentstyle=\color{red},
	keywordstyle=\color{blue},
	breaklines=true,
	columns=fullflexible,
	numbers=left,
	stepnumber=1
}
\DeclareCaptionFont{white}{\color{white}}
\DeclareCaptionFormat{listing}{\colorbox{gray}{\parbox{\textwidth}{#1#2#3}}}
\captionsetup[lstlisting]{format=listing,labelfont=white,textfont=white}

\renewcommand{\lstlistingname}{Quelltext}
\renewcommand{\lstlistlistingname}{Quelltextverzeichnis}


\pagestyle{fancy}
\fancyhf{}
\fancyhead[L]{\leftmark}
\fancyhead[R]{Seite \thepage}

\begin{document}

%\input{Deckblatt}

\addcontentsline{toc}{section}{Quelltextverzeichnis}
\lstlistoflistings{}

\section{Einleitung} 
\section{Implementierung}
\begin{lstlisting}[language=python,caption={Testcaption}]
def hello_world(self):
    print("Hello " + self.name)

\end{lstlisting}

\end{document}

Mache ich irgendwo etwas falsch?


Nach oben