
Ich verwende die Klasse jurabook
und möchte das Verhalten des Inhaltsverzeichnisses ändern. jurabook
bietet die Möglichkeit, Läufer zu haben, die die Absätze nummerieren. Diese Läufer bieten eine spezifischere Referenz als Seiten.
Ich möchte, dass im Inhaltsverzeichnis statt der Seiten auch die Verweise auf die Läufer angezeigt werden oder noch besser zusätzlich zum Verweis auf die Seiten. Ist es möglich, das Verhalten des Inhaltsverzeichnisses entsprechend zu ändern?
Hier ist ein Minimalbeispiel eines Dokuments mit Jurabook und Runners.
\documentclass[compact,a5paper,12pt]{jurabook}
\usepackage[a5paper, left=1.5cm, right=1.5cm, top=2cm, bottom=1.5cm]{geometry}
\newcommand{\lorem}{\rn{Lorem} ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
}
\begin{document}
\tableofcontents
\chapter{Chapter}
\section{Test}
\lorem
\lorem
\section{Test 2}
\lorem
\lorem
\lorem
\section{Test 3}
\lorem
\lorem
\section{Test 4}
\lorem
\lorem
\end{document}
Bearbeiten:
Vielen Dank für Ihre Antwort. Im Rahmen des Minimalbeispiels funktioniert es. Ich habe jedoch Probleme, es in größerem Maßstab anzuwenden.
Wenn ich das Hyperref-Paket einbinde, funktioniert die Lösung nicht. Ich erhalte Fehler beim Satz.
Und wenn ich einen Hinweis darauf haben möchte, welche Nummer welche ist, läuft der Text über die Seite hinaus. Zum Beispiel mit dem Code:
\def\addcontentsline#1#2#3{%
\addtocontents{#1}{%
\protect\contentsline{#2}{#3}{page \thepage\ (runner \the\numexpr\value{runner}+1\relax)}}}%
Antwort1
Hier ist eine Möglichkeit, dies zu tun.
Achtung: Eine Schwäche der Lösung besteht darin, dass ein Abschnitt, auch wenn er kein enthält \rn
, dennoch (im Inhaltsverzeichnis) einem Runner-Wert zugeordnet wird, der dem des vorhergehenden \rn
plus 1 entspricht.
\documentclass[compact,a5paper,12pt]{jurabook}
\usepackage[a5paper, left=1.5cm, right=1.5cm, top=2cm, bottom=1.5cm]{geometry}
\usepackage{titletoc}
\newcounter{runnerplusone}
\renewcommand\addcontentsline[3]{%
\setcounter{runnerplusone}{\value{runner}}%
\addtocounter{runnerplusone}{1}%
\addtocontents{#1}{%
\protect\contentsline{#2}{#3}{\thepage\ (\therunnerplusone)}}}
\newcommand{\lorem}{\rn{Lorem} ipsum dolor sit amet, consetetur sadipscing elitr,
sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet
clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At
vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren,
no sea takimata sanctus est Lorem ipsum dolor sit amet.
}
\begin{document}
\tableofcontents
\chapter{Chapter}
\section{Test}
\lorem
\lorem
\section{Test 2}
\lorem
\lorem
\lorem
\section{Test 3}
\lorem
\lorem
\section{Test 4}
\lorem
\lorem
\end{document}
Eine Alternative (vorgeschlagen von David Carlisle) mit Etex-Arithmetik, um die Zuweisung eines neuen Zählers zu vermeiden, ist
\def\addcontentsline#1#2#3{%
\addtocontents{#1}{%
\protect\contentsline{#2}{#3}{\thepage\ (\the\numexpr\value{runner}+1\relax)}}}
BEARBEITEN: Die oben genannten Lösungen brechen ab, wenn hyperref
geladen wird. Um das Problem zu umgehen, hat egreg Folgendes vorgeschlagen:
\documentclass[compact,a5paper,12pt]{jurabook}
\usepackage[a5paper, left=1.5cm, right=1.5cm, top=2cm, bottom=1.5cm]{geometry}
\usepackage{titletoc}
\usepackage{xpatch}
\usepackage{hyperref}
\xpatchcmd\addcontentsline{\thepage}{\thepage\ (\the\numexpr\value{runner}+1\relax)}{}{}
\newcommand{\lorem}{\rn{Lorem} ipsum dolor sit amet, consetetur sadipscing elitr,
sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat,
sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet
clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At
vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren,
no sea takimata sanctus est Lorem ipsum dolor sit amet.
}
\begin{document}
\tableofcontents
\chapter{Chapter}
\section{Test}
\lorem
\lorem
\section{Test 2}
\lorem
\lorem
\lorem
\section{Test 3}
\lorem
\lorem
\section{Test 4}
\lorem
\lorem
\end{document}