Mit Öffne in Overleaf
\makeatletter \newcommand{\CurrentTOCentry}{\@currenttocentry} \makeatother lese ich den aktuellen toc-Eintrag aus. Ich bräuchte sowas wie Gibt es sowas? Öffne in Overleaf
\documentclass{scrreprt} \begin{document} \makeatletter \newcommand{\CurrentTOCentry}{\@currenttocentry} \makeatother \chapter[short]{long} CurrentTOCentry: \CurrentTOCentry \section{Abschnitt} CurrentTOCentry: \CurrentTOCentry \subsection{Unterabschnitt} CurrentTOCentry: \CurrentTOCentry \chapter{Long} CurrentTOCentry: \CurrentTOCentry \end{document} gefragt 31 Mai '19, 10:11 cis |
An die Einträge ins Inhaltsverzeichnis für die Gliederungsebenen \documentclass{scrreprt} % Sicherstellen, dass Anweisungen neu sind \newcommand*\currentchaptertocentry{} \newcommand*\currentsectiontocentry{} \usepackage{xpatch} % Speichern der aktuellen TOC-Einträge für Kapitel bzw. Abschnitte \xpretocmd\addchaptertocentry {\xdef\currentchaptertocentry{#2}}{}{} \xpretocmd\addsectiontocentry {\xdef\currentsectiontocentry{#2}}{}{} \newcommand\test{ currentchaptertocentry: \currentchaptertocentry\\ currentsectiontocentry:\currentsectiontocentry } \begin{document} \chapter[anderer TOC-Eintrag]{Kapitel} \test \section{Abschnitt} \test \addchap*{Kapitel ohne Nummer und ohne TOC-Eintrag} \test \addsec{Abschnitt ohne Nummer mit TOC-Eintrag} \test \chapter{Kapitel} \test \end{document} Dabei fällt sofort auf, dass bei Kapiteln ohne TOC-Eintrag ( Das lässt sich zwar mit % "Leeren" der Anweisungen vor neuen Kapiteln und Abschnitten \xpretocmd\chapter {\xdef\currentchaptertocentry{}% \xdef\currentsectiontocentry{}% }{}{} \xpretocmd\section {\xdef\currentsectiontocentry{}}{}{} ändern, aber auch dann gilt der Hinweis, dass sich diese Anweisungen wegen der asynchronen Ausgabe nicht für den Seitenstil nutzen lassen. beantwortet 02 Jun '19, 18:27 esdd |
Lass dir nicht von irgendwelchen Schlaubergern Bange mache. Man kann das mit Hilfe von nameref ganz einfach selbst basteln: `\documentclass[headings=optiontotoc]{scrreprt} \chapter{Long}\autolabel beantwortet 31 Mai '19, 11:48 user49915 Ich habe gesehen, es gibt übrigens auch eine Möglichkeit nameref zu verwenden, ohne die Titel einzeln zu labeln. Das wurde bei mir aber vom Ergebnis her, wie der 'Hack' mit dem Komabefehl. Daher ist vermutlich das mit dem autolabel ein ganz praktischer Trick (den man vermutlich noch in die Kommandos chapter, section reinnehmen könnte).
(31 Mai '19, 15:30)
cis
|
Schlechte Idee. Schon die Verwendung von
\@currenttocentry
ist ein übler Hack mit Interna, von denen dir niemand garantieren wird, dass das unter allen Umständen funktionieren wird. Ich vermute fast, dass du das für den Seitenstil verwenden willst. Dort wird es wegen der asynchronen Ausgabe ohnehin nicht funktionieren. Deshalb gibt es den Mark-Mechanismus, der auf LaTeX-Ebene durch\markboth
,\markright
, ggf.\markleft
sowie\chaptermark
,\sectionmark
etc. und\leftmark
,\rightmark
ggf.\headmark
,\lefttopmark
etc. repräsentiert ist. Näheres in der KOMA-Script-Anleitung.Wofür benötigst Du denn die TOC(so steht es im Titel der Frage)-Einträge von Kapiteln und Abschnitten außerhalb vom Inhaltsverzeichnis? Für mich hört sich das sehr nach einem XY-Problem an.
Ja natürlisch... Das war, weil ich das hier https://texwelt.de/wissen/fragen/24914/koma-script-restliches-seitenlayout-bei-kenn-nummern-als-layout
einsetzen wollten. Allerdings ist es mir noch lieber, wenn es ohne das geht.
Wie dem auch sei, das kann man auch ganz generell brauchen. Das hatte mich vor Jahren schonmal ganz allgemein interessiert, weil ich ein ref-Kommando bauen wollte, das den Titel zitiert. Ich wüsste also nicht, warum es wichtig ist, ob die Frage nur Teil eines größeren Problem ist.
Zitieren der Titel usw. scheint alles mit dem Paket zref zu gehen. Wie das, rein zufällig gefundene, Beispiel
zref-example.tex
zeigt.