LaTeX: individuelle Kopf- und Fußzeilen

Heute gibt es wieder ein Beitrag zum LaTeX Einsteiger-Kurs: „LaTeX – gleich setzt’s was!” Dabei soll es um das individuelle Gestalten von Kopf- und Fußzeilen gehen.

Welche Möglichkeiten bietet uns LaTeX zum Setzen von Kopf- und Fußzeilen? Prinzipiell finden wir sechs Platzhalter vor, welche wir mit Inhalt bestücken können. Es ist möglich in der Kopfzeile innen, mittig und außen Inhalt zu plazieren, für die Fußzeile verhält sich dies äquivalent. Wir sprechen von innen und außen statt von links und rechts, da sich bei doppelseitigem Satz der breitere Rand abwechselnd links und rechts befindet, also immer außen. Bei einseitigen Dokumenten wollen wir den rechten Seitenrand mit außen und den linken mit innen bezeichnen. Neben den Platzhaltern können wir aber auch Linien über und unter die Kopf- bzw. Fußzeile setzen.

Paket laden

Um nun individuellen Kopf- und Fußzeilen zu setzen, muss das Paket scrpage2 geladen werden. Wir wählen auch gleich noch den Seitenstil scrheadings aus, wodurch LaTeX mitgeteilt wird, dass Kopf- und Fußzeilen mit dem scrpage2-Paket gesetzt werden sollen. Der Befehl \clearscrheadfoot leert alle sechs Platzhalter, so dass wir sie anschließend nach unseren Vorstellungen „befüllen” können.

\usepackage{scrpage2}
\pagestyle{scrheadings}
\clearscrheadfootCode-Sprache: TeX (tex)

Inhalt positionieren

Um die Platzhalter nun mit Inhalt zu befüllen, gibt es sechs verschiedene Befehle:

\ihead{Kopfzeile innen}
\chead{Kopfzeile Mitte}
\ohead{Kopfzeile außen}
\ifoot{Fußzeile innen}
\cfoot{Fußzeile Mitte}
\ofoot{Fußzeile außen}Code-Sprache: TeX (tex)

Dabei sind die vorstehenden sechs Befehle optional. Wenn man zum Beispiel nur etwas in die Fußzeile innen und außen setzen möchte, so werden nur die Befehle \ifoot und \ofoot benötigt.

Automatische Seitenzahlen und Kolumnentitel

Zum Einfügen der aktuellen Seitenzahl wird der Befehl \pagemark benötigt. Wenn die Seitenzahlen zum Beispiel in der Fußzeile außen ausgegeben werden sollen, so wird folgendes notiert:

\ofoot{\pagemark}Code-Sprache: TeX (tex)

Wenn wir die Kolumnentitel wie Chapter, Section oder Subsection automatisch in Kopf- oder Fußzeile anzeigen möchten, so wird es etwas komplizierter. Mit Hilfe des Befehls \headmark wird der aktuelle Kolumnentitel eingefügt.

\ohead{\headmark}Code-Sprache: TeX (tex)

Mit der vorstehenden Codezeile wird so zum Beispiel der aktuelle Kolumnentitel in der Kopfzeile außen ausgegeben.
Allerdings müssen wir LaTeX noch mitteilen, was als Kolumnentitel ausgegeben werden soll. Wir wollen dies zuerst für doppelseitige Dokumente betrachten.

\automark[rechte Seite]{linke Seite}Code-Sprache: TeX (tex)

Mit dem Befehl \automark legen wir fest, was bei einem doppelseitigen Dokument mit \headmark auf den linken Seiten und was mit \headmark auf den rechten Seiten ausgegeben wird. Dabei können folgende Argumente verwendet werden: chapter, section, subsection, paragraph und subparagraph.
Soll zum Beispiel bei einem doppelseitigen Dokument auf den linken Seiten in der Kopfzeile außen die aktuelle Section und auf den rechten Seiten die jeweilige Subsection ausgegeben werden, so ist folgendes zu notieren:

\ohead{\headmark}
\automark[subsection]{section}Code-Sprache: TeX (tex)

Betrachten wir nun die einseitigen Dokumente. Wir benötigen wieder den Befehl \automark, um LaTeX mitzuteilen, welche Kolumnentitel mit \headmark ausgegeben werden sollen. Allerdings kann auf das optionale Argument verzichtet werden, da es ja nur einen Seitentyp gibt.
Soll zum Beispiel bei einem einseitigen Dokument in der Kopfzeile rechts jeweils die aktuelle Section angezeigt werden, so ist folgendes zu notieren:

\ohead{\headmark}
\automark{section}Code-Sprache: TeX (tex)

Linien

Wie bereits erwähnt, ist es möglich Linien über und unter die Kopf- und Fußzeilen zu setzen. Dafür müssen die jeweiligen Linien einzeln aktiviert werden. Dem Paket scrpage2 werden dazu die folgenden optionalen Argumente übergeben:

headtoplinezum aktivieren der Linie über der Kopfzeile
headseplinezum aktivieren der Linie unter der Kopfzeile
footseplinezum aktivieren der Linie über der Fußzeile
footbotlinezum aktivieren der Linie unter der Fußzeile

Wenn wir zum Beipiel eine Linie unter der Kopfzeile und eine über der Fußzeile setzen möchten, so ist folgendes zu notieren:

\usepackage[headsepline,footsepline]{scrpage2}Code-Sprache: TeX (tex)

Sollen die Linien eine vom Standard abweichende Dicke erhalten, so werden die Befehle \setheadtopline, \setheadsepline, \setfootsepline und \setfootbotline verwendet.
Um zum Beispiel eine 2pt starke Linie über der Kopfzeile und eine 0.5pt starke Linie unter der Kopfzeile zu setzen, ist folgendes zu notieren:

\usepackage[headtopline,headsepline]{scrpage2}
\setheadtopline{2pt}
\setheadsepline{.5pt}Code-Sprache: TeX (tex)

Weitere Optionen

Neben den bereits erwähnten Möglichkeiten bietet LaTeX und das Paket scrpage2 natürlich noch viele weitere Möglichkeiten, um individuelle Kopf- und Fußzeilen zu gestalten. Informationen dazu finden sich zum Beispiel in: KOMA-Script – Die Anleitung.

Kommentare

28 Antworten zu „LaTeX: individuelle Kopf- und Fußzeilen“

  1. Benutzer Icon
    Lea G.

    Danke für die tolle Erklärung!! Sie war sehr gut strukturiert und hat mir weitergeholfen. Vielen Dank

  2. Benutzer Icon
    myp

    Einfach erklärt, gut strukturiert, nicht zu viel und nicht zu wenig Information!
    Tausend Dank dafür!

  3. Benutzer Icon
    Clemse

    Sehr gute Anleitung, habe mich super zurecht gefunden. Man hat innerhalb von wenigen Minuten die Kopf und Fußzeilen nach eigenem Wunsch angepasst.

    Allerdings funktioniert der Link zu „KOMA-Script – Die Anleitung“ am Ende deines Artikels nicht mehr.

    1. Benutzer Icon

      Vielen Dank für den Hinweis, ist gefixt.

  4. Benutzer Icon
    Yve

    Hallo,
    erst mal danke für die einfache Beschreibung. Leider habe ich das Problem, dass die Kopfzeile zwar angezeigt wird wenn ich in die main datei etwas schreibe, sobald ich aber ein Kapitel über \include reinbringe, klappt das mit der Kopfzeile leider nicht mehr.
    Vielleicht kannst du mir ja einen Tipp geben, wie ich das in den Griff bekommen kann.
    LG

    1. Benutzer Icon
      Yve

      hier noch mein Code

      \documentclass[a4paper,12pt,oneside]{scrbook}
      \usepackage[headsepline]{scrpage2}
      \usepackage[english,ngerman]{babel}
      \usepackage[latin1]{inputenc}
      \usepackage[T1]{fontenc}
      \usepackage[left=3cm,top=2.5cm,right=3cm,bottom=2.5cm]{geometry}
      \usepackage{hyperref}

      \begin{document}
      \begin{titlepage}
      \include{Titelseite}
      \end{titlepage}

      \pagenumbering{roman}
      \pagestyle{plain}
      \tableofcontents

      \clearscrheadfoot
      \ohead{\headmark}
      \automark {chapter}
      \cfoot{\pagemark}
      \clearpage
      \pagenumbering{arabic}
      \pagestyle{scrheadings}
      test
      \include{Einleitung}
      \end{document}

      Die Seite mit „test“ wird richtig angezeigt, die Eingefügte „Einleitung“ leider nicht

      1. Benutzer Icon

        Sämtliche Befehle aus diesem Artikel gehören in die Präambel des LaTeX-Files, also zwischen \documentclass und \begin{document}. Dann klappt das auch mit den Kopf- und Fußzeilen auf allen Seiten 😉

        1. Benutzer Icon
          Yve

          Danke für die Antwort. Das war zwar nicht die Lösung aber mittlerweile habe ich rausgefunden woran es lag. Ich habe einen Tipp bekommen, dass es an den chapterstyle einstellungen liegt und tatsächlich hat der Befehl \renewcommand*{\chapterpagestyle}{scrheadings}
          dafür gesorgt das jetzt alles läuft.

  5. Benutzer Icon
    Jan

    Hallo,

    mein LaTeX-Vorspann:

    \usepackage[hang]{footmisc}
    \setlength{\footnotemargin}{0.5em}
    \setcounter{page}{-1}
    \usepackage{scrpage2}
    \pagestyle{scrheadings}
    \clearscrheadfoot
    \ofoot{\pagemark}

    nun hbe ich unter LyX das Problem, dass auf der ersten Seite nach dem Inhaltsverzeichnis keine Seitenzahl angegeben wird. Wisst ihr wie das Problem behoben werden kann.

    Vielen Dank vom LyX-Anfänger

    1. Benutzer Icon
      Jan

      Ergänzung: Das Problem betrifft die dritte Seite…

      1. Benutzer Icon

        Hallo Jan,
        der von dir gepostete Code hat auf den ersten Blick nichts mit deinem Problem zu tun, es fehlt allerdings auch der entscheidende Teil. Erstelle mal ein Minimalbeispiel (siehe http://www.golatex.de/wiki/Minimalbeispiel) für dein Problem, dann kann ich dir weiter helfen 😉

        1. Benutzer Icon
          Jan

          Hallo,

          vielen Dank für die schnelle Antwort. Der Fehler tritt nur auf, wenn ich die erste Seite als „Titel“ markiere. Im folgenden die Daten. Hoffentlich habe ich nichts wichtiges gelöscht. 😉

          Vielen Dank
          Jan

          \documentclass[12pt,ngerman]{article}
          \usepackage[T1]{fontenc}
          \usepackage[latin9]{inputenc}
          \usepackage{geometry}
          \geometry{verbose,lmargin=3cm,rmargin=4cm}
          \setcounter{secnumdepth}{4}
          \setcounter{tocdepth}{5}
          \setlength{\parindent}{0bp}
          \usepackage{setspace}
          \onehalfspacing
          \makeatletter
          \@ifundefined14.03.16{}{\date{}}
          %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
          \usepackage[hang]{footmisc}
          \setlength{\footnotemargin}{0.5em}
          \setcounter{page}{-1}
          \usepackage{scrpage2}
          \pagestyle{scrheadings}
          \clearscrheadfoot
          \ofoot{\pagemark}
          \makeatother
          \usepackage{babel}
          \begin{document}
          \title{{\Large{}Da steht der Titel }\thispagestyle{empty}\newpage{}\thispagestyle{empty}{\small{}\tableofcontents{}}\thispagestyle{empty}\newpage{}}
          \maketitle
          \section{Platzhalter}
          \subsection{Platzhalter}
          \noindent
          \section*{Platzhalter}
          \addcontentsline{toc}{section}{Platzhalter}
          \section*{Platzhalter}
          \addcontentsline{toc}{section}{Platzhalter}
          \end{document}

          1. Benutzer Icon

            Hallo Jan,
            schau dir mal den folgenden abgeänderten Code-Ausschnitt an, damit sollte es funktionieren:

            \begin{document}
            % Titelseite
            \title{{\Large{}Da steht der Titel }}
            \thispagestyle{empty}
            \maketitle
            \newpage
            % Inhaltsverzeichnis auf neuer Seite
            \thispagestyle{empty}
            \tableofcontents
            \newpage
            % Inhalt
            \section{Platzhalter}
            ...
            \end{document}

          2. Benutzer Icon
            Jan

            Vielen Dank
            jetzt funktionierts 🙂

  6. Benutzer Icon
    André

    Nach langem Suchen endlich eine brauchbare Beschreibung gefunden um Kopf und Fußzeile individuell anzupassen.

    Herzlichen dank.

  7. Benutzer Icon
    Tom

    Vielen Dank !

  8. Benutzer Icon
    Michael

    Hallo!

    Wie gibt man denn an, dass man entweder \section oder aber \section* angezeigt bekommen möchte?

    Ich habe ein Dokument bei dem die Ausarbeitung natürlich numeriert ist, aber Literaturverzeichnis, Tabellen und Abbildungsverzeichnis und Eigenständigkeitserklärung unnumeriert sein sollen (also als \section* gesetzt wurden) aber trotzdem in der Kopfzeile angezeigt werden, sodass nicht „6 Zusammenfassung“, die letzte echte section in der Kopfzeile steht.

    ich hoffe das ist auch ohne minimalbeispiel verständlich!

  9. Benutzer Icon
    Johanna

    Vielen Dank für die super Erklärung.
    Simpel, strukturiert und gut erklärt!

  10. Benutzer Icon
    Magda

    Super Seite! Vielen Dank!
    Kann man sich über automark auch part anzeigen lassen? Das ist mir bisher nicht gelungen.

    1. Benutzer Icon

      Schön, wenn der Artikel hilft 🙂
      Das mit part scheint wohl nicht vollumfänglich zu klappen – in der Dokumentation steht: „Der Wert part führt bei Verwendung der meisten Klassen nicht zu dem gewünschten Ergebnis. Bisher ist nur von den KOMA-Script-Klassen ab Version 2.9s bekannt, dass dieser Wert unterstützt wird.“
      Mit der Dokumentklasse scrartcl klappt es in meinem Testdokument, allerdings ist part nicht für scrartcl gedacht sondern für scrbook und dort will es nicht so recht.
      Mir ist aber gerade aufgefallen, dass das Paket scrpage2 mittlerweile veraltet ist und jetzt statt dessen scrlayer-scrpage verwendet werden soll (aktuelle Dokumentation: http://texdoc.net/texmf-dist/doc/latex/koma-script/scrguide.pdf). Ich glaub da ist mal ein neuer Blog-Artikel fällig …

      1. Benutzer Icon
        Magda

        Großartig! Vielen Dank! Das hat auf Anhieb funktionert 🙂

  11. Benutzer Icon
    Marvin

    Hallo,

    was ist notwendig, um auf einem einseitigen Dokument zwei Argumente an einer Position darzustellen. Bisher verwende ich folgenden Code:

    \ohead{\headmark}
    \automark{paragraph}

    Ich würde gern noch ein weiteres Argument hinzufügen und am besten einen Doppelpunkt zwischen die Argumten setzen.

    Über Unterstützung würde ich mich sehr freuen.

    1. Benutzer Icon

      Hallo Marvin,
      dafür ist das Paket scrpage2 nicht ausgelegt. Komplett individualisierte Kopf- und Fußzeilen kannst du mit dem Paket fancyhdr (siehe https://www.ctan.org/pkg/fancyhdr) erstellen, das ist allerdings auch ein klein wenig aufwendiger 😉

      1. Benutzer Icon
        Marvin

        Hallo,

        danke für den Hinweis. Es war aufwendiger als mit scrpage2, aber dafür habe ich jetzt mein Ziel erreicht.

        Danke!

  12. Benutzer Icon
    Alexandra A.

    Vielen Dank für diese ausführliche Anleitung!
    Hat mir sehr weitergeholfen.

  13. Benutzer Icon
    Michel B.

    Hallo Jan,
    Vielen Dank für deine Anleitung. Ich habe nur ein Problem meine Kopfzeilen sind alle in Großbuchstaben geschrieben. Dies möchte ich gern vermeiden hast du dazu eine Alternative?

    1. Benutzer Icon

      Ich weiss zwar nicht wer Jan ist, antworte aber trotzdem mal.

      Du verwendest vermutlich keine passende Komascript Documentklasse. Wenn du zur Zeit article als Dokumentklasse gesetzt hast, probiere es mal mit scrartcl, das ist das Komascript-Äquivalent.

  14. Benutzer Icon
    Nick Dirtenlog

    Vielen Dank für die ausführliche und anschauliche Erklärung!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert