Querverweis auf Listingverzeichnis

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Querverweis auf Listingverzeichnis

von Auch ein » So 1. Dez 2019, 14:21

Anonymous hat geschrieben:Könnte man das nicht auch in scrhack einbauen?
Können, könnte man vieles. Man könnte beispielsweise einfach:
\RequirePackage{scrlfile}
\ReplaceClass{article}{scrartcl}
\ReplaceClass{report}{scrreprt}
\ReplaceClass{book}{scrbook}
an den Anfang all seiner Dokumente schreiben. Dann verfügt man über alle Vorteile der KOMA-Script-Klassen auch, wenn später eine Standardklasse per \documentclass oder innerhalb einer Wrapper-Klasse per \LoadClass oder \LoadClassWithOptions angefordert wird:
\RequirePackage{scrlfile}
\ReplaceClass{article}{scrartcl}
\ReplaceClass{report}{scrreprt}
\ReplaceClass{book}{scrbook}
\documentclass[paper=a5
]{book}%
\usepackage[ngerman]{babel}%
\usepackage{scrhack}
\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}
Damit werden quasi alle Fähigkeiten der KOMA-Script-Klassen in die Standardklassen gepatcht.

Und wenn man nicht ganz alle Vorteile, sondern mehr das Aussehen der Standardklassen haben will, dann geht auch das:
\RequirePackage{scrlfile}
\PassOptionsToClass{emulatestandardclasses}{scrartcl}
\PassOptionsToClass{emulatestandardclasses}{scrreprt}
\PassOptionsToClass{emulatestandardclasses}{scrbook}
\ReplaceClass{article}{scrartcl}
\ReplaceClass{report}{scrreprt}
\ReplaceClass{book}{scrbook}
\documentclass[paper=a5
]{book}%
\usepackage[ngerman]{babel}%
\usepackage{scrhack}
\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}
Alle Features der KOMA-Script-Klassen als Paket für die Standardklassen wäre dagegen eher wenig sinnvoll, weil das letztlich auf obiges hinauslaufen würde, also nahezu sämtlichen Code der Standardklassen durch Code der KOMA-Script-Klassen zu ersetzen. Die Code-Schnittmenge ist da wirklich nur noch extrem gering. Die KOMA-Script-Klassen ersetzen inzwischen sogar einigen Code aus dem LaTeX-Kern.

von esdd » So 1. Dez 2019, 11:37

Anonymous hat geschrieben:Könnte man das nicht auch in scrhack einbauen?
Warum stellst Du die Frage in einem Anwender-Forum? Außerdem steht in der Einleitung der scrhack Doku eindeutig:
Dieses Paket ändert Anweisungen und Definitionen anderer Pakete, damit sie besser mit KOMA-Script zusammenarbeiten.
Ziel des Pakets scrhack ist also dafür zu sorgen, dass andere Pakete (u.a. eben listings) die Möglichkeiten der KOMA-Script-Klassen unterstützen. Warum sollte dann darin Code enthalten sein, der für KOMA-Script Klassen so gar nicht gebraucht wird? Wenn manches trotzdem auch bei Verwendung mit anderen Klassen hilft, dann ist das nur ein Nebeneffekt.

Wenn ich Dich richtig verstehe, willst Du eigentlich einfach nur das Paket tocbasic nutzen. Dann lade dieses Paket und nimm die passenden Einstellungen vor. Oder möchtest Du alle KOMA-Script Einstellmöglichkeiten verwenden können? Dann wechsle zu einer KOMA-Script Klasse.

Du kannst Dir aber auch ein eigenes Paket schreiben, dass tocbasic lädt und die für Dich nötigen Einstellungen vornimmt. Das kannst Du dann in Deinen Dokumenten einbinden.

von Gast » So 1. Dez 2019, 00:12

Das ist doch endlich einmal eine Antwort, mit der man etwas anfangen kann. Danke dafür. Das funktioniert schon einmal sehr gut.

Könnte man das nicht auch in scrhack einbauen?

von esdd » Sa 30. Nov 2019, 21:25

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.

Re: Häh?!

von Gast » Sa 30. Nov 2019, 17:44

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.

Häh?!

von Ratgeber » Sa 30. Nov 2019, 17:05

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.

von Gast » Sa 30. Nov 2019, 15:54

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.

Beste Quelle

von Ratgeber » Fr 29. Nov 2019, 19:51

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.

von Gast » Fr 29. Nov 2019, 17:10

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

DANKE

von Gast » Fr 29. Nov 2019, 16:08

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.

Nach oben