Querverweis auf Listingverzeichnis

Inhalt, Abbildungen, Tabellen, Quellcodes und andere Verzeichnisse


Gast

Beitrag von Gast »

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?

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

Beitrag von esdd »

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.

Auch ein

Beitrag von Auch ein »

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.

Antworten