Seite 1 von 1

Übergreifendes Verzeichnis

Verfasst: So 17. Dez 2023, 20:41
von huebi
Moin,
gleich vorweg: es handelt es sich nicht um ein Problem innerhalb eines Verzeichnisses. Aber ich habe nun 4 etwas grössere "Werke" in LaTex erstellt. Nun hätte ich gern ein Dokument mit einem übergeprdneten Verzeichnis, also einem Verzeichnis über alle Werke. Alle Werke ziehen die gleiche Präambel, benutzt wird die Klasse scrbook und die einzelnen Dokumente generieren das Inhaltsverzeichnis über chapter und section.

Klar kann ich das alles manuell rüberkopieren, evtl kann ich mir in TexStudio auch ein Makro basteln was die chapter und section Einträge zumindest einsammelt, aber vielleicht gibts ja einen Kniff wie man das einigermaßen automatisiert hinkriegt.

//huebi

Re: Übergreifendes Verzeichnis

Verfasst: Mo 18. Dez 2023, 13:48
von Stefan Kottwitz
Hallo Huebi,

hier ist eine Lösung.

Viele Grüße,

Stefan

Re: Übergreifendes Verzeichnis

Verfasst: Di 19. Dez 2023, 13:10
von huebi
Danke,
hatte schon befürchtet die .toc Dateien mit Python beackern zu müssen.
//huebi

Re: Übergreifendes Verzeichnis

Verfasst: Mi 7. Feb 2024, 18:50
von huebi
Moin,

das wollte ich jetzt masl umsetzen und muss es nochmals ausgraben. Habe nun dieses hier erstellt
\documentclass[ngerman,paper=a5,fontsize=9pt,DIV=13,headsepline, parskip=half,headings=small,table]{scrbook}

\makeatletter
\def\tableofcontentsfrom#1#2{
	\section*{#2\@mkboth{\MakeUppercase#2}{\MakeUppercase#2}}%
	\begingroup\makeatletter%
	\@input{#1.toc}%
	\endgroup%
}
\makeatother
\begin{document}
	
\tableofcontentsfrom{../I/master-I}{Contents of Volume 1}
\tableofcontentsfrom{../II/master-II}{Contents of Volume 2}


\end{document}
aber das fliegt mir gleich mit
Undefined control sequence. \babel@toc
um die Ohren.

Und das "Zeug" mit \def übersteigt meine Konntnis derzeit drastisch.

//huebi

Re: Übergreifendes Verzeichnis

Verfasst: Mi 7. Feb 2024, 19:45
von Stefan Kottwitz
Hallo Huebi,

wenn ich oben in Deinem Beitrag auf "LaTeX-Ausgabe" klicke, funktioniert es fehlerfrei. Evtl. ist der Fehler woanders und nicht in dem Teil hier? Du kannst vllt. auch mal die .log-Datei hier anhängen, evtl. ist darin etwas zu erkennen.

Stefan

Re: Übergreifendes Verzeichnis

Verfasst: Do 8. Feb 2024, 07:43
von huebi
Moin,

nein da fehlt nix, das ist kein Minimalbeispiel, das ist ein vollständiges LaTex Dokument. Daher hab ich mir auch gar nicht die Mühe gemacht, das zu kontrollieren.

Log habe ich angehängt. Evtl liegt es an der nicht vorhandenen toc Datei? Das er sich dort verschluckt und hier nicht in dieser Datei?

Wie ich hier aber aber funktionierend die zwei externen toc Dateien einfügen soll weiss ich nicht.

Die toc Datei fängt folgendermassen an:
\babel@toc {ngerman}{}\relax 
\contentsline {chapter}{\numberline {1}Apfelstrudel -- knusprig, saftig, einfach köstlich}{11}{chapter.1}%
\contentsline {section}{\nonumberline Tipps rund um Strudelteig}{11}{section*.3}%
\contentsline {section}{\nonumberline Die Äpfel}{12}{section*.5}%
\contentsline {section}{\nonumberline Grundrezept Strudel\-teig}{12}{section*.7}%
\contentsline {section}{\nonumberline Klassischer Apfelstrudel}{13}{section*.12}%
\contentsline {section}{\nonumberline Vanillesoße}{15}{section*.16}%
Wenn ich die erste Zeile lösche und dann noch die Zeile
\contentsline {section}{\nonumberline Die Chili-\csqQQ {34}Feuerwehr\csqQQ {34}}{40}{section*.65}%
dann funktioniert es. In der Zeile schmecken ihm wohl die \csqQQ Befehle nicht, wenn ich die Zeile drin lasse und die beiden \csqQQ Befehle lösche geht es dann auch.

Das ist jetzt ein kleines bisschen schade dass ich immer eine Kopie machen muss und editieren muss. Aber besser als gar nichts. Aber vielleicht gibts ja einen einfachen workaround?

//huebi

Re: Übergreifendes Verzeichnis

Verfasst: Do 8. Feb 2024, 10:48
von Stefan Kottwitz
Hallo Huebi,

ich glaube Dir fehlt nur das Laden von babel:
\usepackage{babel}
Die ngerman-Option erbt es von den Dokumentklassen-Optionen.

Stefan

Re: Übergreifendes Verzeichnis

Verfasst: Do 8. Feb 2024, 12:24
von huebi
Wenn ich noch csquotes lade läuft es anstandslos durch :D

Danke (schon wieder :) )