Querverweis auf Listingverzeichnis

Inhalt, Abbildungen, Tabellen, Quellcodes und andere Verzeichnisse


Talex
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Mo 9. Jul 2018, 12:32
Wohnort: Oldenfelde
Kontaktdaten:

Querverweis auf Listingverzeichnis

Beitrag 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]

Gast

Beitrag 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}

Talex
Forum-Newbie
Forum-Newbie
Beiträge: 6
Registriert: Mo 9. Jul 2018, 12:32
Wohnort: Oldenfelde
Kontaktdaten:

Beitrag 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 :D

Gast

DANKE

Beitrag 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.

Gast

Beitrag von Gast »

Warum verbessert scrhack eigentlich nicht auch die Standardklassen, so dass man auch mit denen den obigen Trick verwenden kann?

Ratgeber

Beste Quelle

Beitrag 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.

Gast

Beitrag 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.

Ratgeber

Häh?!

Beitrag 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.

Gast

Re: Häh?!

Beitrag 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.

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag 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.
Zuletzt geändert von esdd am So 1. Dez 2019, 11:44, insgesamt 1-mal geändert.

Antworten