Part-übergreifende Querverweise Vorwort Thema ist als GELÖST markiert

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


aasaa00
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 86
Registriert: Do 1. Mär 2018, 11:43

Part-übergreifende Querverweise Vorwort

Beitrag von aasaa00 »

Hallo, ich hatte vor Monaten eine Anfrage wegen Part-übergreifende Querverweise gestellt und eine hilfreiche Antwort erhalten. Nun habe ich neues Problem: Ich habe vor Part I ein Vorwort verfasst, auf das ich in den nachfolgenden Parts rekurriere. Wenn ich das tue, erscheint z.B. ".1.2". Was muss ich tun, wenn ich "0.1.2" erhalten will?

Hier mein MWE
\documentclass[12pt, oneside,numbers=endperiod,headings=standardclasses]{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{\thepart.}% Präfix für chapter-Labels
\def\p@section{\p@chapter}
\def\p@subsection{\p@section}
\def\p@subsubsection{\p@subsection}
\def\p@figure{\p@chapter}
\def\p@table{\p@chapter}
\makeatother

\begin{document}

Vorwort sfgdfg 
\section{Weitere Texte}
dd\label{labBT_1} 

\part{Erster Teil des Buches}
\chapter{Einführung}
\section{Blindtext 1}
\blindtext\label{BT_1} 
\section{Weitere Texte}

%NEU
HIER BEGINNT\ref{labBT_1}  DER NEUE TEXT, siehe \ref{Test}.\\ 
%NEU

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.

\section{Texte NEU}
%NEU
HIER BEGINNT DER NEUE TEXT\label{Test}.
%NEU

\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}

Gast.

Re: Part-übergreifende Querverweise Vorwort

Beitrag von Gast. »

Letztlich das gleiche wie für chapter für part wiederholen:
\renewcommand*{\thepart}{\arabic{part}}
Damit werden dann auch für part arabische Zahlen verwendet. Da es keine römische 0 gibt, kann ansonsten natürlich auch keine 0 vorangestellt werden. Besser finde ich, wenn man den Automatismus von KOMA-Script nutzt:
\documentclass[12pt, oneside,numbers=endperiod,headings=standardclasses]{scrbook}
%\usepackage[utf8]{inputenc}% Wer UTF8-codierte Umlaute verwendet, braucht die Codierung  schon seit LaTeX 2018/04/01 nicht mehr zu deklarieren!
\usepackage[ngerman]{babel}% Die Hauptsprache setzt man übrigens besser als globale Option.
\usepackage[T1]{fontenc}

\usepackage{mwe}
%Kap.-Zählung neu beginnen
\RedeclareSectionCommand[counterwithin=part]{chapter}
\renewcommand*{\thechapter}{\arabic{chapter}}% Blödsinniger Weise den part-Präfix bei den Kapitelnummern entfernen und so doppelte Gliederungsnummern auf allen Ebenen provozieren.
\renewcommand{\partmark}[1]{\markboth{#1}{}}
\makeatletter
\def\p@chapter{\if@mainmatter\thepart.\fi}% Präfix für chapter-Labels nur im Hauptteil.
\def\p@section{\p@chapter}
\def\p@subsection{\p@section}
\def\p@subsubsection{\p@subsection}
\def\p@figure{\p@chapter}
\def\p@table{\p@chapter}
\makeatother

\begin{document}

\frontmatter
\chapter{Vorwort}
Vorwort sfgdfg 
\section{Weitere Texte}
dd\label{labBT_1} 

\mainmatter
\part{Erster Teil des Buches}
\chapter{Einführung}
\section{Blindtext 1}
\blindtext\label{BT_1} 
\section{Weitere Texte}

%NEU
Der Abscnitt im Vorwort ist einfach \ref{labBT_1}.
HIER BEGINNT \ref{BT_1}  DER NEUE TEXT, siehe \ref{Test}.
%NEU

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.

\section{Texte NEU}
%NEU
HIER BEGINNT DER NEUE TEXT\label{Test}.
%NEU

\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}
Man kann auch einfach erreichen, dass die Seiten im Vorderteil trotzdem arabisch nummeriert werden. Dazu muss man nur die \pagenumbering-Anweisungen aus \frontmatter und \mainmatter heraus patchen:
\documentclass[12pt, oneside,numbers=endperiod,headings=standardclasses]{scrbook}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{xpatch}

\usepackage{mwe}
%Kap.-Zählung neu beginnen
% Hinweis: Seit einigen Jahren bietet LaTeX selbst u. a. \counterwithin*.
\counterwithin*{chapter}{part}% Blödsinniger Weise die Kapitelnummern "still" von den Teile-Nummern abhängig machen und so doppelte Gliederungsnummern auf allen Ebenen provozieren.
\renewcommand{\partmark}[1]{\markboth{#1}{}}% Zwar die Namen aber nicht die Nummern von den Teilen im Kolumnentitel ausgeben, so dass kein Mensch mehr durchblick.
\makeatletter
\def\p@chapter{\if@mainmatter\thepart.\fi}% Präfix für chapter-Labels nur im Hauptteil
\def\p@section{\p@chapter}
\def\p@subsection{\p@section}
\def\p@subsubsection{\p@subsection}
\def\p@figure{\p@chapter}
\def\p@table{\p@chapter}
\makeatother

\xpatchcmd{\frontmatter}{\pagenumbering{roman}}{}{}{\PatchFailure}
\xpatchcmd{\mainmatter}{\pagenumbering{arabic}}{}{}{\PatchFailure}


\begin{document}

\frontmatter
\chapter{Vorwort}
Vorwort sfgdfg 
\section{Weitere Texte}
dd\label{labBT_1} 

\mainmatter
\part{Erster Teil des Buches}
\chapter{Einführung}
\section{Blindtext 1}
\blindtext\label{BT_1} 
\section{Weitere Texte}

%NEU
Der Abscnitt im Vorwort ist einfach \ref{labBT_1}.
HIER BEGINNT \ref{BT_1}  DER NEUE TEXT, siehe \ref{Test}.
%NEU

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.

\section{Texte NEU}
%NEU
HIER BEGINNT DER NEUE TEXT\label{Test}.
%NEU

\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}
Ebenso unlogisch finde ich übrigens, wenn man \chapter zwar abhängig von \part nummeriert, die Nummer dann aber nicht mit ausgibt. Das führt dann dazu, dass man mehrere Kapitel 1, mehrere Abschnitt 1.1 etc. hat. Wer soll da noch durchblicken??? Da du das aber offenbar so haben willst, habe ich oben nichts daran geändert. Meine Meinung dazu konnte ich aber nicht zurückhalten, damit das nicht am Ende irgendwer unbedarft nachmacht.

aasaa00
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 86
Registriert: Do 1. Mär 2018, 11:43

Re: Part-übergreifende Querverweise Vorwort

Beitrag von aasaa00 »

Danke! Das MWE entstammt aus einem alten Beitrag, den ich hier gepostet hatte. Meine jetzige Version sieht also nicht so wie im den eingangs von mir geposteten MWE aus, d.h. Kapiteleinteilungen etc. werden angezeigt. Da das Problem daran sichtbar war, habe ich den Beitrag aber unverändert gelassen. Problem ist nun gelöst; danke nochmals!

Gast.

Re: Part-übergreifende Querverweise Vorwort

Beitrag von Gast. »

aasaa00 hat geschrieben:
Mi 1. Dez 2021, 10:14
Danke! Das MWE entstammt aus einem alten Beitrag, den ich hier gepostet hatte. Meine jetzige Version sieht also nicht so wie im den eingangs von mir geposteten MWE aus
So etwas ist immer schlecht, weil es immer das Potential für überflüssige Arbeit bei den Helfern und bei der Anwendung der Lösung birgt und zum anderen oftmals eine wirklich gute Lösung von der konkreten Anwendung abhängt. Nicht selten können schon kleine Änderungen bei den Anforderungen zu einer ganz anderen Lösung führen.

Antworten