PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : List of Listing - Formatierung



The Prophet
10-03-2013, 11:54
Hallo zusammen,

ich versuche das "list of listings" analog zu \listoffigures % Abbildungsverzeichnis bzw. \listoftables % Tabellenverzeichnis zu gestalten.
Im Detail bedeutet dies das vor jedem Listing im Verzeichnis ein frei wählbares Wort erscheinen soll. Analog zum Tabellen und Abbildungsverzeichnis. (Tabelle 1:, Abbildung 1: usw.)

Stand derzeit:


List of Tables
Tabelle 1: EinedreispaltigeTabelle ..................... 4

List of Figures
Abbildung 1: Apictureofagull........................ 4

Verzeichnis der Quellcodes
1 This is below the code. . . . . . . . . . . . . . . . . . . . . . . . . . 4


Wie zu sehen ist werden nur die Verzeichnis Tabel und Abbildung entsprechend angepasst. Für das Listingsverzeichnis würde ich gern ähnliches erreichen.
So zum Beispiel:


Verzeichnis der Quellcodes
Listing 1: This is below the code. . . . . . . . . . . . . . . . . . . . . . . . . . 4


Minimalbeispiel dazu


\documentclass[
fontsize=12pt, % Schriftgröße
DIV10,
ngerman, % für Umlaute, Silbentrennung etc.
twoside=false, % einseitiges Dokument
titlepage, % es wird eine Titelseite verwendet
parskip=half, % Abstand zwischen Absätzen (halbe Zeile)
headings=normal, % Größe der Überschriften verkleinern
listof=totoc, % Verzeichnisse im Inhaltsverzeichnis aufführen
bibliography=totoc, % Literaturverzeichnis im Inhaltsverzeichnis aufführen
index=totoc, % Index im Inhaltsverzeichnis aufführen
captions=tableheading, % Beschriftung von Tabellen unterhalb ausgeben
draft=true % Status des Dokuments (final/draft)
]{scrreprt}

\usepackage{floatrow}
\usepackage{minted}
\usepackage{listingsutf8}
\usepackage{subfigure}
\usepackage[dvips]{graphicx}
% zum Umfließen von Bildern
\usepackage{floatflt}
\usepackage[titles,subfigure]{tocloft}
\usepackage{chngcntr} % Counter für durchgängige Nummerierung
\renewcommand{\thefigure}{\bfseries\arabic{figure} }
\renewcommand{\thetable}{\bfseries\arabic{table}}
\renewcommand{\cfttabpresnum}{\textbf{Tabelle }}
\renewcommand{\cftfigpresnum}{\textbf{Abbildung }}
\renewcommand{\cftfigaftersnum}{\textbf{:}}
\renewcommand{\cfttabaftersnum}{\textbf{:}}
\setlength{\cftfignumwidth}{3cm}
\setlength{\cfttabnumwidth}{2,5cm}
\setlength{\cftfigindent}{0cm}
\setlength{\cfttabindent}{0cm}

\begin{document}


\listoffigures % Abbildungsverzeichnis
\listoftables % Tabellenverzeichnis
\renewcommand{\lstlistlistingname}{Verzeichnis der Quellcodes}
\lstlistoflistings % Listings-Verzeichnis




\newpage

\begin{figure}[h!]
\caption{A picture of a gull.}
\centering
\includegraphics[width=0.5\textwidth]{gull.png}
\end{figure}

\begin{table}
\centering
\begin{tabular}{lll}
\hline
\textbf{linke Spalte} & \textbf{mittlere Spalte} & \textbf{rechte Spalte} \\
\hline
A & B & C \\
! & 2 & 3 \\
a & b & c \\
i & ii & iii \\
\hline
\end{tabular}
\caption{Eine dreispaltige Tabelle}
\label{tab:threecols}
\end{table}


\definecolor{bg}{rgb}{0.95,0.95,0.95}
\floatsetup[listing]{style=Plaintop}
\begin{listing}[H]
\caption{This is below the code.}
\inputminted[tabsize=2,linenos,bgcolor=bg]{html}{beispiel_html5.html}
\label{lst:the-code}
\end{listing}


\end{document}



Finde allerdings keine Commandos wie \cfttabpresnum für Listings.

klops
11-03-2013, 08:58
Nachdem ich drei Fehlermeldungen in Deinem Beispiel eliminiert hatte und dann feststellen durfte, dass Dein Beispiel unbedingt -shell-escape benötigt, hatte ich schlicht keine Lust mehr, ein lauffähiges Beispiel zu erstellen. Ich erwähne das nicht, um Dich vorzuführen, sondern um Dir zu erklären, warum Du eventuell noch keine Antwort erhalten hast. Das gibt Dir vielleicht Gelegenheit, es besser zu machen.

The Prophet
11-03-2013, 16:05
Nachdem ich drei Fehlermeldungen in Deinem Beispiel eliminiert hatte und dann feststellen durfte, dass Dein Beispiel unbedingt -shell-escape benötigt, hatte ich schlicht keine Lust mehr, ein lauffähiges Beispiel zu erstellen.

Hallo,

würde ich wissen das es auf anderen Systemen und Konfigurationen Fehler wirft hätte ich es selbstverständlich nicht in dieser Art gepostet. :o Bei mir läuft es ohne Probleme. Mal abgesehen vom sicherlich fehlenden Import (beispiel_html5.html). Diesen habe ich am Post angehangen. (Bitte entsprechend umbenennen)

Das -shell-escape benötigt wird war mir entfallen, tut mir leid. Leider verlangt das Paket minted (zur Quellcodeformatierung) Python und das Paket Pygments.
http://code.google.com/p/minted/

Ich habe das Minimalbeispiel noch weiter zusammen gekürzt. In der Dokumentation zu minted wird zu den Listings (S. 18 - siehe Anhang - Doku gekürzt) einiges erwähnt. Allerdings hilft mir das nicht wirklich weiter.



\documentclass{article}

\usepackage{floatrow}
\usepackage{minted}
\usepackage{listingsutf8}
\usepackage{subfigure}
\usepackage[demo]{graphicx}
% zum Umfließen von Bildern
\usepackage{floatflt}
\usepackage[titles,subfigure]{tocloft}
\usepackage{chngcntr} % Counter für durchgängige Nummerierung
\renewcommand{\thefigure}{\bfseries\arabic{figure} }
\renewcommand{\thetable}{\bfseries\arabic{table}}
\renewcommand{\cfttabpresnum}{\textbf{Tabelle }}
\renewcommand{\cftfigpresnum}{\textbf{Abbildung }}
\renewcommand{\cftfigaftersnum}{\textbf{:}}
\renewcommand{\cfttabaftersnum}{\textbf{:}}
\setlength{\cftfignumwidth}{3cm}
\setlength{\cfttabnumwidth}{2,5cm}
\setlength{\cftfigindent}{0cm}
\setlength{\cfttabindent}{0cm}

\begin{document}


\listoffigures % Abbildungsverzeichnis
\listoftables % Tabellenverzeichnis
\renewcommand{\lstlistlistingname}{Verzeichnis der Quellcodes}
\renewcommand\listingscaption{Quellcodebeispiel}
\lstlistoflistings % Listings-Verzeichnis


\begin{figure}[h!]
\caption{A picture of a gull.}
\centering
\includegraphics[width=0.5\textwidth]{gull.png}
\end{figure}

\begin{table}
\centering
\begin{tabular}{lll}
\hline
\textbf{linke Spalte} & \textbf{mittlere Spalte} & \textbf{rechte Spalte} \\
\hline
A & B & C \\
! & 2 & 3 \\
a & b & c \\
i & ii & iii \\
\hline
\end{tabular}
\caption{Eine dreispaltige Tabelle}
\label{tab:threecols}
\end{table}


\definecolor{bg}{rgb}{0.95,0.95,0.95}
\floatsetup[listing]{style=Plaintop}
\begin{listing}[H]
\caption{This is below the code.}
\inputminted[tabsize=2,linenos,bgcolor=bg]{html}{beispiel_html5.html}
\label{lst:the-code}
\end{listing}


\end{document}


Vielen Dank!

u_fischer
11-03-2013, 16:22
http://tex.stackexchange.com/questions/27645/customizing-the-list-of-listings-generated-by-lstlistoflistings/27648#27648

The Prophet
11-03-2013, 21:21
Hallo Frau Fischer,

danke für den Link. Habe den Code verwendet und soweit mir möglich angepasst.



\makeatletter
\begingroup\let\newcounter\@gobble\let\setcounter\ @gobbletwo
\globaldefs\@ne \let\c@loldepth\@ne
\newlistof{listings}{lol}{\lstlistlistingname}
\endgroup
\let\l@lstlisting\l@listings
\addtocontents{lol}{\protect{\textbf{Quellcode }}}
\makeatother
\renewcommand{\lstlistoflistings}{\listoflistings}
\renewcommand{\cftlistingsfont}{\itshape}


ändert die Ausgabe zu folgendem!



Verzeichnis der Quellcodes
Quellcode
1 This is below the code. . . . . . . . . . . . . . . . . . . . . . . . . 2
2 This is below the code #2. . . . . . . . . . . . . . . . . . . . . . . . . 2


Mit welchem Befehl bekomm ich das Wort Quellcode vor die Listings?

Vielen Dank!

sommerfee
12-03-2013, 08:32
Wieso verwendet man bei einer KOMA-Script-Klasse das tocloft-Paket? Das ist doch so, als würde man als Ersatztür für seinen BMW eine Tür von VW einbauen, und das dann passend haben will...

The Prophet
12-03-2013, 10:16
Ist die Aussage für die Frage relevant?

Verwende folgende Vorlage und habe diese nach meinen Wünschen und Fähigkeiten angepasst. Was nun besser ist, weiß ich nicht. Es funktioniert und gefällt. Das zählt, nicht mehr und nicht weniger.

http://blog.stefan-macke.com/2009/04/24/latex-vorlage-fuer-meine-masterarbeit-an-der-ohm-hochschule-nuernberg/

The Prophet
17-03-2013, 10:09
Die Lösung des Problems:

Das Paket minted verwendet bei der Verwendung von floated Listings intern das Paket "listing" nicht zu verwechseln mit dem Paket "listings". Das sind leider 2 verschiedene Sachen.


Um die Ausgabe nun zu überschreiben müssen folgende Schritte ausgeführt werden:


\makeatletter
\renewcommand\l@listing[2]{\@dottedtocline{1}{0em}{2.5em}{\textbf{Quellcode} ~#1}{#2}} %Bezeichner im Verzeichnis
\renewcommand\thelisting{\textbf{\arabic{listing}: }}
\makeatother




\renewcommand\listoflistingscaption{Quellcodeverze ichnis} %Bezeichner des Verzeichnisses
\renewcommand\listingname{Quellcode}%Bezeichner des Listings
\clearpage % notwendig sonst stimmt seitenzahl nicht
\addcontentsline{toc}{chapter}{Quellcodeverzeichni s} % Eintrag im Inhaltsverzeichnis
\listoflistings % Listing ausführen



Formatierung von List of Tables und List of Figures


\counterwithout{figure}{chapter}
\counterwithout{table}{chapter}
\renewcommand{\thefigure}{\bfseries\arabic{figure} }
\renewcommand{\thetable}{\bfseries\arabic{table}}
\renewcommand{\cfttabpresnum}{\textbf{Tabelle }}
\renewcommand{\cftfigpresnum}{\textbf{Abbildung }}
\renewcommand{\cftfigaftersnum}{\textbf{:}}
\renewcommand{\cfttabaftersnum}{\textbf{:}}
\setlength{\cftfignumwidth}{3,1cm}
\setlength{\cfttabnumwidth}{2,5cm}
\setlength{\cftfigindent}{0cm}
\setlength{\cfttabindent}{0cm}


Um die Captions noch einheitlich zu gestalten ist das Paket captions notwendig:


\usepackage[labelsep=space,labelformat=simple,labelfont=bf]{caption}
\captionsetup[figure]{labelsep=colon,labelformat=simple,labelfont=bf}
\captionsetup[table]{labelsep=colon,labelformat=simple,labelfont=bf}