Seite 1 von 2
Querverweis auf Listingverzeichnis
Verfasst: Fr 29. Mär 2019, 16:28
von Talex
Ich finde keine Lösung, warum der Verweis auf das Listingverzeichnis nicht funktioniert. Wer kann helfen und hat einen Tipp?
\documentclass[paper=a5
]{scrbook}%
\usepackage[ngerman]{babel}%
\usepackage{listings}
% -----------------------------------------------------
%\BeforeStartingTOC[lot]{\label{tabellen}}% funktioniert
\BeforeStartingTOC[lol]{\label{codelisting}}% funktioniert nicht
\begin{document}
\chapter{Eins}
Meine Listings finden Sie auf \textbf{\pageref{codelisting}.} <---
\begin{lstlisting}[caption=Listing Eins]
Ein erstes kurzes Listing
\end{lstlisting}
\newpage
\begin{lstlisting}[caption=Listing Zwei]
Ein weiteres kurzes Listing
\end{lstlisting}
% LISTING-VERZEICHNIS
\renewcommand{\lstlistlistingname}{Listingverzeichnis}
\lstlistoflistings
\end{document}
[/code]
Verfasst: Fr 29. Mär 2019, 16:38
von Gast
Leider war der Autor von
listings bisher nicht davon zu überzeugen,
tocbasic für sein Verzeichnis zu verwenden, obwohl dabei automatisch diverse Features für das Verzeichnis heraus kämen. Daher muss man
listings erst patchen. Das geschieht beispielsweise durch die Verwendung von
scrhack:
\documentclass[paper=a5
]{scrbook}%
\usepackage[ngerman]{babel}%
\usepackage{listings}
% -----------------------------------------------------
%\BeforeStartingTOC[lot]{\label{tabellen}}% funktioniert
\BeforeStartingTOC[lol]{\label{codelisting}}% funktioniert nicht
\begin{document}
\chapter{Eins}
Meine Listings finden Sie auf \textbf{\pageref{codelisting}.} <---
\begin{lstlisting}[caption=Listing Eins]
Ein erstes kurzes Listing
\end{lstlisting}
\newpage
\begin{lstlisting}[caption=Listing Zwei]
Ein weiteres kurzes Listing
\end{lstlisting}
% LISTING-VERZEICHNIS
\renewcommand{\lstlistlistingname}{Listingverzeichnis}
\lstlistoflistings
\end{document}
Verfasst: Fr 29. Mär 2019, 17:29
von Talex
Danke für die schnelle Hilfe!
Ich hatte schon auf S. 476 KOMA-Script gelesen, dass auch listings mit scrhack "verbessert" wird, aber leider nicht geglaubt, dass mein Problem damit gelöst wird. Wer wagt gewinnt.
Nu isses drin

DANKE
Verfasst: Fr 29. Nov 2019, 16:08
von Gast
Vielen Dank für diese einfach und effektive Lösung, leider muss man ein bisschen suchen um sie zu finden, da viele nur Lösungen für die Standard Dokumentklassen bieten.
Verfasst: Fr 29. Nov 2019, 17:10
von Gast
Warum verbessert scrhack eigentlich nicht auch die Standardklassen, so dass man auch mit denen den obigen Trick verwenden kann?
Beste Quelle
Verfasst: Fr 29. Nov 2019, 19:51
von Ratgeber
Anonymous hat geschrieben:Warum verbessert scrhack eigentlich nicht auch die Standardklassen, so dass man auch mit denen den obigen Trick verwenden kann?
Lies mal Kapitel 16 der Anleitung zu »
KOMA-Script«. Schon die Einleitung klärt diese Frage.
Verfasst: Sa 30. Nov 2019, 15:54
von Gast
Da steht:
Einige Änderungen sind auch bei Verwendung anderer Klassen nützlich.
Und mit den Standardklassen wären eben einige Änderungen noch nützlicher, wenn das Paket auch die Standardklassen entsprechend patchen würde.
Häh?!
Verfasst: Sa 30. Nov 2019, 17:05
von Ratgeber
Anonymous hat geschrieben:[…] Und mit den Standardklassen wären eben einige Änderungen noch nützlicher, wenn das Paket auch die Standardklassen entsprechend patchen würde.
Was bitte sollte »scrhack« denn an den Standardklassen ändern? Wenn es darum geht, einige Leistungsmerkmale von »KOMA-Script« auch in anderen Klassen verfügbar zu machen, dann binde »scrextend« ein. Was damit alles ausgelagert wird ist in der Anleitung zu »KOMA-Script« dokumentiert (Kapitel 10, ab S. 292). Wenn bei Verwendung der Standardklassen Modifikationen welcher Art auch immer vorgenommen werden sollen, dann gibt es genug andere Pakete, mit denen sich das bewerkstelligen lässt. Welche genau das sind, hängt von den gewünschten Änderungen ab. Die sind hier (außer von
Talex) aber bisher nicht geäußert worden. Und darüber kann dann in einem neuen Thema diskutiert werden.
Re: Häh?!
Verfasst: Sa 30. Nov 2019, 17:44
von Gast
Ratgeber hat geschrieben:Was bitte sollte »scrhack« denn an den Standardklassen ändern?
Na, eben beispielsweise, damit das im Beispiel oben auskommentierte
\BeforeStartingTOC[lot]{\label{tabellen}}
für das Tabellenverzeichnis auch mit den Standardklassen +
scrhack funktioniert. Das ist nämlich nicht der Fall. Nur die Zeile für das Quellcodeverzeichnis funktioniert. Ich brauche das aber nicht für das Quellcodeverzeichnis, sondern für das Abbildungsverzeichnis (also lof statt lot). Würde
scrhack auch die Standardklassen passend patchen, so wie es das offensichtlich mit
listings macht, dann müsste man nicht für die Standardklassen eine andere Lösung suchen, sondern könnte einfach diese hier übernehmen.
Ratgeber hat geschrieben:dann binde »scrextend« ein
Das habe ich probiert, hat aber nicht geholfen.
Verfasst: Sa 30. Nov 2019, 21:25
von esdd
Das Paket scrhack lädt KOMA-Script Paket tocbasic (auf das Paket hat der Gast vom 29.03.2019 explizit verwiesen), falls das nicht schon, beispielsweise durch die Verwendung einer KOMA-Script-Klasse, erfolgt ist.
Wenn tocbasic bei Verwendung einer Standardklasse auch die von der Klasse erstellten Verzeichnisse ToC, LoF und LoT kontrollieren soll, musst Du das explizit veranlassen:
\usepackage{tocbasic}
\addtotoclist[\jobname]{toc}
\renewcommand*\tableofcontents{\listoftoc[{\contentsname}]{toc}}
\addtotoclist[float]{lof}
\renewcommand*\listoffigures{\listoftoc[{\listfigurename}]{lof}}
\addtotoclist[float]{lot}
\renewcommand*\listoftables{\listoftoc[{\listtablename}]{lot}}
In der
DTK 4/2017 war ein Artikel zur Verwendung von tocbasic mit Standardklassen.