Teiletitel in KOMA-Script LoF/LoT hinzufügen

Teiletitel in KOMA-Script LoF/LoT hinzufügen

Wie angegeben in§3.20. Schwebende Umgebungen von Tabellen und Abbildungenauf Seite 128 qmKOMA-Script Dokumentationkann man die Option hinzufügen listof=withchapterentry,

Markieren Sie die Kapiteleinführungen bei den Listen der schwebenden Umgebungen, indem Sie ihre Einträge in das Inhaltsverzeichnis kopieren.

D. h., es fügt den Kapiteltitel über den zu diesem Kapitel gehörenden Abbildungen hinzu:

List of Figure

Chapter 1
  1.1  My first figure.......................13
  1.2  My second figure......................17

Chapter 42
  42.1 My last figure.......................210

Frage:Wenn ich die scrbookKlasse verwende, möchte ich dasselbe Verhalten emulieren, allerdings mit Teiltiteln statt mit Kapiteltiteln. Das heißt, ich möchte die listof=withpartentryOption sozusagen erstellen.
(Ich muss nur Teiltitel anzeigen, nicht Kapiteltitel.)

Wie könnte ich das tun?


Einige Fragen befassen sich bereits mit diesem Thema (z. B.Kapitel innerhalb von LoF und LoT?,Kapitel in Abbildungsverzeichnis mit Titletoc einschließen?). Sie sind jedoch für Standardklassen ( book) vorgesehen. Ich denke, dass mit der Klasse „schmutzige“ Workarounds vermieden werden könnten, scrbookda das Feature für Kapitel bereits implementiert ist.

Antwort1

Sie können einen Patch verwenden \addparttocentry, um für jedes Teil einen Eintrag in LOF und LOT zu erhalten:

\documentclass{scrbook}

\unsettoc{lof}{chapteratlist}% remove the chapter gap in LOF
\unsettoc{lot}{chapteratlist}% % remove the chapter gap in LOT

\usepackage{xpatch}
\xapptocmd\addparttocentry{%
  \addxcontentsline{lof}{part}[{#1}]{#2}% copy the part entry to LOF
  \addxcontentsline{lot}{part}[{#1}]{#2}% copy the part entry to LOT
}{}{\PatchFailed}

\begin{document}
\listoffigures
\part{Part One}
\chapter{Chapter One}
\captionof{figure}{My first figure}
\captionof{figure}{My second figure}
\chapter{Chapter Two}
\captionof{figure}{A figure in Chapter Two}
\part{Part Two}
\chapter{Chapter Three}
\captionof{figure}{My next figure}
\chapter{Chapter Four}
\addpart{Unnumbered Part}
\chapter{Chapter Five}
\captionof{figure}{My last figure}
\end{document}

Oder in allen vom Paket gesteuerten Listen tocbasic:

\documentclass[listof=ignorechapter]{scrbook}

\usepackage{xpatch}
\makeatletter
\xapptocmd\addparttocentry{%
  \doforeachtocfile{%
    \ifstr{\@currext}{toc}{}{%
      \addxcontentsline{\@currext}{part}[{#1}]{#2}%
    }%
  }%
}{}{\PatchFailed}
\makeatother

\begin{document}
\listoffigures
\part{Part One}
\chapter{Chapter One}
\captionof{figure}{My first figure}
\captionof{figure}{My second figure}
\chapter{Chapter Two}
\captionof{figure}{A figure in Chapter Two}
\part{Part Two}
\chapter{Chapter Three}
\captionof{figure}{My next figure}
\chapter{Chapter Four}
\addpart{Unnumbered Part}
\chapter{Chapter Five}
\captionof{figure}{My last figure}
\end{document}

Ergebnis:

Bildbeschreibung hier eingeben


Es ist auch möglich, einen neuen Stil für die Teileinträge in den Listen zu deklarieren. Beispiel ohne Seitenzahlen für die Teileinträge:

\documentclass[listof=ignorechapter]{scrbook}
\usepackage{xpatch}
\makeatletter
\xapptocmd\addparttocentry{%
  \doforeachtocfile{%
    \ifstr{\@currext}{toc}{}{%
        \addxcontentsline{\@currext}{partatlists}[{#1}]{#2}%
    }%
  }%
}{}{\PatchFailed}

\DeclareTOCStyleEntry[
  pagenumberbox=\@gobble,
  level=-1,
  indent=0pt,
  numwidth=0pt,
  dynnumwidth
]{part}{partatlists}
\makeatother

\begin{document}
\listoffigures
\part{Part One}
\chapter{Chapter One}
\captionof{figure}{My first figure}
\captionof{figure}{My second figure}
\chapter{Chapter Two}
\captionof{figure}{A figure in Chapter Two}
\part{Part Two}
\chapter{Chapter Three}
\captionof{figure}{My next figure}
\chapter{Chapter Four}
\addpart{Unnumbered Part}
\chapter{Chapter Five}
\captionof{figure}{My last figure}
\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen