... gibt es dafür eine einfache Methode? Die 'sections' sind nicht notwendigerweise mit \section erzeugt.

Nebenbei: Es erzeugt sehr viele Leerseiten :( Ja, muß wohl so sein.

Open in writeLaTeX
\documentclass[a5paper]{scrbook} %
\usepackage{selinput}
\SelectInputMappings{adieresis={ä},  germandbls={ß}}
\usepackage[ngerman]{babel}

\begin{document}
\tableofcontents

\newpage
Diese Seite gehört egtl. nimmer zum toc... \\ \\
\fbox{Schreibe hier ein Chaptertoc für das Kapitel FOO hin: ...} \\ \\
\fbox{Schreibe hier ein Chaptertoc für das Kapitel BAR hin: ...}

\chapter{FOO}
...
\addcontentsline{toc}{section}{foo1}
\addcontentsline{toc}{section}{foo2}
\addcontentsline{toc}{section}{foo3}

\chapter{BAR}
....
\addcontentsline{toc}{section}{bar1}
\addcontentsline{toc}{section}{bar2}

\end{document}

gefragt 07 Nov '14, 00:28

cis's gravatar image

cis
5.4k860169
Akzeptiert: 68%

bearbeitet 07 Nov '14, 02:05


Da minitoc die Nummer des bei \minitoc zu verwendenden Kapitelverzeichnisses über einen Zähler bestimmt, ist das ohne allzu großen Aufwand möglich. Man muss nur den Zähler kennen: mtc, am besten auch dessen Ausgabe: \The@mtc, und eine Möglichkeit finden, auf die Nummer des Zählers zu einem beliebigen Kapitel zuzugreifen. Diese Möglichkeit ist zum einen durch das Paket \refcount und zum anderen durch den \label-Mechanismus von LaTeX gegeben. Dazu muss man allerdings als Labelwert den eben die Ausgabe von mtc, also \The@mtc verwenden können. In folgendem Beispiel wird genau das umgesetzt:

Open in writeLaTeX
\documentclass[a5paper]{scrbook} %
\usepackage{selinput}
\SelectInputMappings{adieresis={ä},  germandbls={ß}}
\usepackage[ngerman]{babel}
\usepackage{minitoc}
\usepackage{refcount}

\makeatletter
% Ausgabe von \minitoc für ein bestimmtes Kapitelverzeichnis, durch
% temporäre Änderung des Zählers mtc:
\newcommand*{\xminitoc}[2][d]{%
  \begingroup
    \value{mtc}=#2\relax
    \minitoc[#1]%
  \endgroup
}
% Setzen eines Labels mit dem aktuellen Ausgabewert des Zählers mtc,
% ohne dabei die normale Label-Referenz zu ändern:
\newcommand*{\mtclabel}[1]{%
  \begingroup
    \protected@edef\@currentlabel{\The@mtc}%
    \label{#1}%
  \endgroup
}
\makeatother

\begin{document}
\dominitoc
\tableofcontents

\newpage
Diese Seite gehört egtl. nimmer zum toc... \\ \\
\xminitoc{\getrefnumber{mtc:foo}}
\xminitoc{\getrefnumber{mtc:bar}}

\chapter{FOO}\mtclabel{mtc:foo}
...
\addcontentsline{toc}{section}{foo1}
\addcontentsline{toc}{section}{foo2}
\addcontentsline{toc}{section}{foo3}

\chapter{BAR}\mtclabel{mtc:bar}
....
\addcontentsline{toc}{section}{bar1}
\addcontentsline{toc}{section}{bar2}

\end{document}

Entscheidend bei der Lösung ist natürlich jeweils die Gruppierung (also \begingroup\endgroup), damit durch \xminitoc der Zähler mtc nicht global verändert wird und so minitoc aus dem Tritt kommen würde, bzw. bei \mtclabel die normale Labelreferenz nicht verändert wird, also ein späteres \label ggf. weiterhin das Kapitel, den Abschnitt oder was sonst gerade Labelreferenz ist referenziert. Aus demselben Grund darf man natürlich auch nicht \setcounter verwenden, um mtc in \xminitoc zu verändern, denn \setcounter arbeitet global.

Nebenbei bemerkt: Die Zahl der Leerseiten lässt sich durchaus reduzieren. Das muss also nicht so sein. Allerdings halte ich durchaus viel davon, Kapitel immer auf rechten Seiten beginnen zu lassen.

Permanenter link

beantwortet 07 Nov '14, 02:17

Ijon%20Tichy's gravatar image

Ijon Tichy
4.4k618

bearbeitet 07 Nov '14, 02:18

Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs füge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×46
×7
×5
×1

Frage gestellt: 07 Nov '14, 00:28

Frage wurde angeschaut: 2,176 Mal

Zuletzt aktualisiert: 07 Nov '14, 02:18