Ich habe einen ziemlich langen Anhang in meiner Arbeit. Die Seiten im Anhang sollen groß und Römisch nummeriert werden. Das hat zur Folge, dass die Seitenzahlen richtig groß/breit werden -- und ohne weiter Maßnahmen aus dem Rand laufen.

Das schaut dann so aus:

\documentclass[12pt, toc=listof, usegeometry]{scrreprt}
\usepackage{fontspec}
\usepackage[ngerman]{babel}
\usepackage{mwe}
\usepackage{lipsum}
\usepackage[showframe]{geometry}

\begin{document}

\pagenumbering{roman}
\tableofcontents
\listoffigures

\chapter{Einleitung}
\pagenumbering{arabic}
\lipsum[1]

\section{Unterpunkt}
\lipsum
\begin{figure}
    \centering
    \includegraphics[scale=1]{example-image-a}
    \caption{Beispiel-Bild A}
\end{figure}

\section{Noch ein Unterpunkt}
\lipsum

\appendix
\chapter{Anhang}
\pagenumbering{Roman}
\lipsum[1-100]
\lipsum[1-100]
\section{Noch was}
\lipsum[1-2]
\begin{figure}
    \centering
    \includegraphics[scale=1]{example-image-b}
    \caption{Beispiel-Bild B}
\end{figure}

\end{document}

Ich habe jetzt zumindest schon mal heraus gefunden, wie man die Box für die Seitenzahlen größer bekommt:

  • entweder mit \RedeclareSectionCommand[tocpagenumberwidth=xxx]{Gliederungsebene}
  • oder direkt mit dem Paket tocbasic den Befehl \DeclareTOCStyleEntry nutzen

Beim ersten Punkt ist der Nachteil, dass die Punktlinien von section oder subsection Einträgen dann weit vor der Seitenzahl aufhören -- wenn man die tocpagenumberwidth entsprechend groß wählt.

Der zweite Punkt bietet den Vorteil, dass man den Stil von Verzeichniseinträgen noch besser Konfigurieren kann. Mit der Option pagenumberbox=\dotfill (S.420 im KOMAScript) habe ich es jetzt schon mal geschafft, dass die Punktelinie bis zur Seitenzahl fortgeführt wird.

Ich bin mir aber auch gar nicht sicher, ob ich das richtig genutzt habe. In der Anleitung steht nämlich, dass man eigentlich einen Befehl, welcher genau ein Argument erwartet, angeben muss -- mein \dotfill nimmt ja gar kein Argument.

Das Ergebnis schaut jetzt schon so aus:

\documentclass[12pt, toc=listof, usegeometry]{scrreprt}
\usepackage{fontspec}
\usepackage[ngerman]{babel}
\usepackage{tocbasic}
\usepackage{mwe}
\usepackage{lipsum}
\usepackage[showframe]{geometry}

%\RedeclareSectionCommand[tocpagenumberwidth=3.5em]{section}

\DeclareTOCStyleEntry[
    pagenumberwidth=3.5em,
    pagenumberbox=\dotfill
]{tocline}{figure}

\DeclareTOCStyleEntry[
    pagenumberwidth=3.5em,
    pagenumberbox=\dotfill
]{tocline}{section}

\begin{document}

\pagenumbering{roman}
\tableofcontents
\listoffigures

\chapter{Einleitung}
\pagenumbering{arabic}
\lipsum[1]

\section{Unterpunkt}
\lipsum
\begin{figure}
    \centering
    \includegraphics[scale=1]{example-image-a}
    \caption{Beispiel-Bild A}
\end{figure}

\section{Noch ein Unterpunkt}
\lipsum

\appendix
\chapter{Anhang}
\pagenumbering{Roman}
\lipsum[1-100]
\lipsum[1-100]
\section{Noch was}
\lipsum[1-2]
\begin{figure}
    \centering
    \includegraphics[scale=1]{example-image-b}
    \caption{Beispiel-Bild B}
\end{figure}

\end{document}

Das Einzige, was mich jetzt noch stört, ist die Tatsache, dass die Punkte irgendwann auf einmal dichter beisammen liegen.

Hat jemand eine Idee, wie man das vernünftig umgesetzt bekommt?

gefragt 30 Mai, 08:39

AndreGismo's gravatar image

AndreGismo
3468
Akzeptiert-Rate: 100%

bearbeitet 30 Mai, 08:44

1

Würde ich zwar eher so machen, wie im koma-script wiki, aber alternativ probiere doch einmal ˋpagenumberbox=\mboxˋ in deinem beispiel. Das ist dann auch wirklich eine box, die auch ein argument erwartet.

(30 Mai, 13:45) huibub

Zunächst zwei Anmerkungen:

  1. Das Paket tocbasic wird bereits von der KOMA-Script-Klasse geladen und verwendet.
  2. Du kannst die Optionen zum Konfigurieren der Verzeichniseinträge alle auch mit \RedeclareSectionFormat verwenden, wenn Du sie mit dem Prefix toc versiehst. Das gilt auch für pagenumberbox bzw. dann tocpagenumberbox. Die Verwendung von \DeclareTOCStyleEntry oder \DeclareTOCStyleEntries bietet aber auch Anpassungsmöglichkeiten für die Einträge von Abbildungen oder Tabellen in den entsprechenden Verzeichnissen.

Um das gewünschte zu erreichen, genügt

\DeclareTOCStyleEntries[
  pagenumberbox=\mbox
]{tocline}{section,subsection,subsubsection,paragraph,subparagraph,figure,table

}

Wenn man lange bzw. mehrzeilige Einträge in den Verzeichnissen hat, kann es sinnvoll sein, außerdem rightindent (Voreinstellung 2.55em) auf einen größeren Wert zu setzen.

Beispiel:

\documentclass[12pt, toc=listof, DIV=calc, usegeometry]{scrreprt}
\usepackage{fontspec}
\usepackage[ngerman]{babel}
\usepackage{mwe}
\usepackage[showframe]{geometry}

\DeclareTOCStyleEntries[
  pagenumberbox=\mbox
]{tocline}{section,subsection,subsubsection,paragraph,subparagraph,figure,table}

\begin{document}
\pagenumbering{roman}
\tableofcontents
\listoffigures

\cleardoubleoddpage
\pagenumbering{arabic}
\chapter{Einleitung}
\Blindtext
\section{Unterpunkt}
\Blindtext
\begin{figure}
  \centering
  \includegraphics{example-image-a}
  \caption{Beispiel-Bild A}
\end{figure}

\section{Noch ein Unterpunkt}
\Blindtext

\appendix
\cleardoubleoddpage
\pagenumbering{Roman}
\chapter{Anhang}
\Blindtext[200]
\section{Noch was}
\Blindtext[2]
\begin{figure}
  \centering
  \includegraphics{example-image-b}
  \caption{Beispiel-Bild B}
\end{figure}
\end{document}

alt text

Wenn Du nur die Box für die Seitenzahlen breiter machen möchtest und das dann auch für Abbildungen und Tabellen gelten soll, dann bietet sich ebenfalls die Verwendung von \DeclareTOCStyleEntries an:

\DeclareTOCStyleEntries[
  pagenumberwidth=2.25em,% voreingestellt war \@pnumwidth 
  rightindent=3.25em% voreingestellt war \@tocrmarg
]{tocline}{section,subsection,subsubsection,paragraph,subparagraph,figure,table}

Beispiel:

\documentclass[12pt, toc=listof, DIV=calc, usegeometry]{scrreprt}
\usepackage{fontspec}
\usepackage[ngerman]{babel}
\usepackage{mwe}
\usepackage[showframe]{geometry}

\DeclareTOCStyleEntries[
  pagenumberwidth=2.25em,% voreingestellt war \@pnumwidth 
  rightindent=3.25em% voreingestellt war \@tocrmarg
]{tocline}{section,subsection,subsubsection,paragraph,subparagraph,figure,table}

\begin{document}
\pagenumbering{roman}
\tableofcontents
\listoffigures

\cleardoubleoddpage
\pagenumbering{arabic}
\chapter{Einleitung}
\Blindtext
\section{Unterpunkt}
\Blindtext
\begin{figure}
  \centering
  \includegraphics{example-image-a}
  \caption{Beispiel-Bild A}
\end{figure}

\section{Noch ein Unterpunkt}
\Blindtext

\appendix
\cleardoubleoddpage
\pagenumbering{Roman}
\chapter{Anhang}
\Blindtext[200]
\section{Noch was}
\Blindtext[2]
\begin{figure}
  \centering
  \includegraphics{example-image-b}
  \caption{Beispiel-Bild B}
\end{figure}
\end{document}

alt text

Statt pagenumberwidth und rightindent über DeclareTOCStyleEntries anzupassen, kann man auch einfach \@pnumwidth und \@tocrmarg umdefinieren:

\makeatletter
\renewcommand*{\@pnumwidth}{2.25em}% Standard ist 1.55em
\renewcommand*{\@tocrmarg}{3.25em}% Standard ist 2.55em
\makeatother

Eine weitere Anpassungsmöglichkeit wird unter How to align Roman page numbers neatly one below the other in the table of contents von Markus Kohm gezeigt. Dabei müsstest Du von scrreprt zu scrbook wechseln und dabei die Option twoside=false einfügen, um weiterhin ein einseitiges Dokument zu haben. Dann kannst Du \frontmatter, \mainmatter und \backmatter nutzen und für jeden dieser Teile unterschiedlich viel Platz für die Seitennummern im Inhaltsverzeichnis reservieren. \frontmatter schaltet dabei sowieso auf kleine römische Zahlen für die Seiten um und \mainmatter wechselt zu arabischer Seitennummerierung. \backmatter kann man so ergänzen, dass dieses automatisch auf große römische Zahlen für die Seiten umschaltet.

Beispiel:

% basierend auf https://sourceforge.net/p/koma-script/wiki-en/HowTo_TocRomanPageNumbers/
\documentclass[12pt, toc=listof, DIV=calc, usegeometry,twoside=false]{scrbook}
\usepackage{fontspec}
\usepackage[ngerman]{babel}
\usepackage{mwe}
\usepackage[showframe]{geometry}

\makeatletter
\g@addto@macro\frontmatter{%
  \addtocontents{\ext@toc}{%
    \protect\renewcommand*\protect\@pnumwidth{3em}
    \protect\renewcommand*\protect\@tocrmarg{4em}
  }%
}
\g@addto@macro\mainmatter{%
  \addtocontents{\ext@toc}{%
    \protect\renewcommand*\protect\@pnumwidth{1.55em}
    \protect\renewcommand*\protect\@tocrmarg{2.55em}
  }%
}
\g@addto@macro\backmatter{%
  \addtocontents{\ext@toc}{%
    \protect\renewcommand*\protect\@pnumwidth{4.25em}
    \protect\renewcommand*\protect\@tocrmarg{5.25em}
  }%
  \pagenumbering{Roman}%
  %\setcounter{section}{0}%
}
\makeatother

\begin{document}
\frontmatter
\tableofcontents
\listoffigures

\mainmatter
\chapter{Einleitung}
\Blindtext
\section{Unterpunkt}
\Blindtext
\begin{figure}
  \centering
  \includegraphics{example-image-a}
  \caption{Beispiel-Bild A}
\end{figure}

\section{Noch ein Unterpunkt}
\Blindtext

\backmatter
\appendix
\chapter{Anhang}
\Blindtext[200]
\section{Noch was}
\Blindtext[2]
\begin{figure}
  \centering
  \includegraphics{example-image-b}
  \caption{Beispiel-Bild B}
\end{figure}
\end{document}

Das einfachste und sinnvollste wäre natürlich auf den Wechsel der Seitennummerierung im Anhang zu verzichten.

Permanenter link

beantwortet 01 Jun, 11:00

esdd's gravatar image

esdd
17.5k244156
Akzeptiert-Rate: 62%

bearbeitet 08 Jun, 21:35

Sehr schön ausgeführt. Das ist genau, was ich gemeint habe, und noch einige wichtige hinweise mehr. Da fehlt eigentlich nur noch der link zur alternativen darstellung aus https://sourceforge.net/p/koma-script/wiki-en/HowTo_TocRomanPageNumbers/ ;-) Dann kann ich meinen kommentar oben löschen.

(04 Jun, 11:41) huibub

super, vielen Dank für die ausführliche Antwort! :) und vielen Dank auch für den weiterführenden Link, hatte gar nicht gewusst, dass es ein koma script wiki gibt

(05 Jun, 07:50) AndreGismo
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×128
×25
×16
×5
×2

gestellte Frage: 30 Mai, 08:39

Frage wurde gesehen: 492 Mal

zuletzt geändert: 08 Jun, 21:35