Kapitel fangen in meinem Buch stets neu mit 1 an, wenn ein neuer Part beginnt. Querverweise können auch Part-übergreifend vorkommen. In solchen Fällen - und nur dann - soll die automatisch ermittelte (römische) Part-Nummer vorangestellt werden. Kann dies auf einfache Weise in der Präambel vorkonfiguriert werden? Open in Online-Editor
\documentclass[12pt, oneside,numbers=endperiod]{scrbook} %\usepackage[x-iso-8859-1]{inputenx} \usepackage[ngerman]{babel} \usepackage[ngerman]{varioref} % Referenzen \usepackage[T1]{fontenc} \usepackage{mwe} %Kap.-Zählung neu beginnen \renewcommand{\partmark}[1]{\setcounter{chapter}{0}\markboth{#1}{}} \begin{document} \part{Erster Teil des Buches} \chapter{Einführung} \section{Blindtext 1} \blindtext\label{BT_1} \section{Weitere Texte} Was bereits in Blindtext 1 in Kap. \ref{BT_1} ausgeführt, wollen wir in Blindtext 2 in Kap. \ref{BT_2} weiter vertiefen. Der Querverweis mü\ss{}te richtig hei\ss{}en: Was bereits in Blindtext 1 in Kap. \ref{BT_1} ausgeführt, wollen wir in Blindtext 2 in Kap. II-\ref{BT_2} weiter vertiefen. \part{Zweiter Teil des Buches} \chapter{Ausführungen} \section{Blindtext 2} \blindtext\label{BT_2} \section{Weitere Texte} In Blindtext 1 (s. Kap. I-\ref{BT_1}) wurde bereits ausgeführt \dots \\ Auch hier muss die römische Ziffer des Buchteils mitgeführt werden, wenn auf einen anderen Buchteil verwiesen wird. \end{document} |
Das Zurücksetzen der Kapitelnummer in Der Rest ist dann ein Vergleich der aktuellen Teil-Nummer mit der Teil-Nummer des referenzierten Abschnitts. Im Beispiel verwende ich für den Vergleich Open in Online-Editor
\documentclass[12pt, oneside,numbers=endperiod]{scrbook} \usepackage[utf8]{inputenc}% Wer Umlaute verwendet, sollte die Codierung deklarieren! \usepackage[ngerman]{babel} \usepackage[T1]{fontenc} \usepackage{mwe} %Kap.-Zählung neu beginnen \RedeclareSectionCommand[counterwithin=part]{chapter} \renewcommand*{\thechapter}{\arabic{chapter}} \renewcommand{\partmark}[1]{\markboth{#1}{}} \makeatletter \def\p@chapter{\IfPartNot{\thepart}}% Präfix für chapter-Labels \def\p@section{\IfPartNot{\thepart}}% Präfix für section-Labels \def\p@subsection{\IfPartNot{\thepart}}% Präfix für subsection-Labels \makeatother \DeclareRobustCommand*{\IfPartNot}[1]{% \ifstr{\thepart}{#1}{}{#1-}% } \begin{document} \part{Erster Teil des Buches} \chapter{Einführung} \section{Blindtext 1} \blindtext\label{BT_1} \section{Weitere Texte} Was bereits in Blindtext 1 in Abschnitt \ref{BT_1} ausgeführt, wollen wir in Blindtext 2 in Abschnitt \ref{BT_2} weiter vertiefen. Der Querverweis müsste richtig heißen: Was bereits in Blindtext 1 in Abschnitt \ref{BT_1} ausgeführt, wollen wir in Blindtext 2 in Abschnitt II-1.1 weiter vertiefen. \part{Zweiter Teil des Buches} \chapter{Ausführungen} \section{Blindtext 2} \blindtext\label{BT_2} \section{Weitere Texte} In Blindtext 1 (siehe Abschnitt \ref{BT_1}) wurde bereits ausgeführt \dots Auch hier muss die römische Ziffer des Buchteils mitgeführt werden, wenn auf einen anderen Buchteil verwiesen wird. \end{document} Das Makro
Übrigens sollte man beantwortet 23 Feb '16, 21:50 saputello |