Quellcodeverzeichnis - Anzeigeproblem

Inhalt, Abbildungen, Tabellen, Quellcodes und andere Verzeichnisse


Gast

Beitrag von Gast »

Hm, die caption's von Abbildungen und Tabellen sind nicht gleich und bei den Listings ist der auch minimal anders.

Extrem gesagt sollte es wie folgt aussehen:

Abbildungsverzeichnis
Abbildung 1:__Beispieltext

Tabellenverzeichnis
Tab 1:_______Beispieltext

Codeverzeichnis
Quellcode 1:__Beispieltext

(wobei die Striche den Leerraum darstellen sollen und die Beschriftung Tab nur da ist, um es extrem darzustellen)

Zum Vergleich: in der article Umgebung, konnte man es noch mit dem Befehl
 \setlength{\cfttabnumwidth}{3.25cm} % Länge "Tabelle n"
anpassen.

Fällt dir dazu was ein oder soll ich ansonsten nen neuen Beitrag machen?

oft gesehener

Beitrag von oft gesehener »

Du meinst die Verzeichnisse. Ich hatte deine Frage so verstanden, dass es um die captions über den Abbildungen, Tabellen und Listings geht.

Dir ist hoffentlich klar, dass das dann aber recht hässliche Abstände gibt, wenn Präfix + Nummer in den unterschiedlichen Verzeichnissen sehr unterschiedlich lang sind. Bei KOMA-Script ist dafür das Paket tocbasic zuständig, das in der Anleitung, [d]scrguide[/d] ebenfalls erklärt ist. Allerdings muss man dazu erst die Automatik für die Nummernbreite abschalten, die bei listof=entryprefix automatisch aktiviert wird.
\documentclass[%
  egregdoesnotlikesansseriftitles,% etwas mehr wie article
% emulatestandardclasses,% sehr ähnlich zu article
  fontsize=12pt,
  listof=entryprefix,% Verzeichnisabhängiger Präfix für
                     % Gleitumgebungsverzeichnisse verwenden
  listof=graduated,% trotz Präfix nicht mit automatischer Nummernbreite arbeiten
  captions=nooneline,% einzeilige captions nicht zentrieren
  captions=heading,% captions als Überschrift formatieren
]{scrartcl}
\usepackage{scrhack}% Verbessere einige andere Pakete
\usepackage[left=2cm, right=4cm, top=2cm, bottom=2.5cm]{geometry}
\usepackage[ngerman]{babel}

\usepackage{graphicx}
\usepackage{listings}
\usepackage{mwe}
\usepackage{hyperref}

\setkomafont{caption}{\bfseries}% caption Text (aber nicht das Label) fett
%\setkomafont{captionlabel}{\bfseries}% caption Label fett

\newcaptionname{ngerman}{\lstlistingname}{Quellcode}%
\newcommand*{\listoflolentryname}{\lstlistingname}% Der Präfix für die Einträg eim Listings-Verzeichnis
\newcaptionname{ngerman}{\lstlistlistingname}{Quellcodeverzeichnis}% <- eingefügt

\AfterTOCHead[lof]{\renewcommand*{\autodot}{:}}% Doppelpunkt nach der Nummer im Abbildungsverzeichnis
\AfterTOCHead[lol]{\renewcommand*{\autodot}{:}}% Doppelpunkt nach der Nummer im Listingsverzeichnis

\DeclareTOCStyleEntries[indent=0pt,numwidth=7em,level=1]{default}{figure,table,lstlisting}% Einzug, Nummernbreite und (für lstlisting) Eintragsebene festlegen

\lstset{basicstyle=\ttfamily,abovecaptionskip=\abovecaptionskip}

\begin{document}
\listoffigures
\lstlistoflistings

\section{Test}

\blindtext

\begin{center}
\begin{minipage}{\textwidth}% damit Beschriftung und Abbildung auf der gleichen Seite bleiben
    \centering
    \captionof{figure}{Abbildungsüberschrift}
    \includegraphics[width=0.5\textwidth]{example-image}
\end{minipage}
\end{center}

Siehe \autoref{lst:quellcodeüberschrift}.

% Achtung: Kommentare nach der schließenden optionalen Klammer von lstlisting
%          sind zu vermeiden!
\begin{lstlisting}[caption=Quellcodeüberschrift,label=lst:quellcodeüberschrift]
for i in 1 2 3 do
  nothing
done
\end{lstlisting}

\blindtext
\end{document}
Zum Vergleich: in der article Umgebung, konnte man es noch mit dem Befehl
Code
\setlength{\cfttabnumwidth}{3.25cm} % Länge "Tabelle n"
anpassen.
Das hatte weniger etwas mit article als mit tocloft zu tun. Das Paket braucht man aber bei KOMA-Script nicht (we oben gezeigt) und sollte man auch nicht mit KOMA-Script verwenden.

Antworten