Bookmarks: Zwei Parts als Kinder von einem Oberpart

Redefinition von Makros, Definition eigener Befehle sowie neuer Umgebungen


MeganovaBass
Forum-Anfänger
Forum-Anfänger
Beiträge: 31
Registriert: Do 24. Okt 2013, 23:40

Bookmarks: Zwei Parts als Kinder von einem Oberpart

Beitrag von MeganovaBass »

Hallo Leute,

ich habe erneut eine Anfrage bezüglich meiner Bookmarks. Aktuell ist es so, dass sie bereits dank eurer Hilfe automatisch formatiert werden, in Abhängigkeit von der Gliederungsebene.

Ich habe in einem großen Dokument eine besondere Struktur, die ihr dem Minimalbeispiel entnehmen könnt.

Code: Alles auswählen

%Meine Dokumentenklasse.
\documentclass[ngerman,11pt,a4paper]{book}

%Meine Pakete.
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage[usenames,x11names,dvipsnames,table]{xcolor}
\usepackage{xpatch}
\usepackage{xurl}
\usepackage[bookmarks,bookmarksnumbered,backref,pagebackref,
pdfpagelabels=true,colorlinks,extension=pdf,plainpages=false]{hyperref}
\usepackage[atend]{bookmark}

%Das Paket xpatch liefert mit folgenden Befehlen eine automatische Formatierung meiner Bookmarks.
\xpretocmd\part{\bookmarksetup{color=Red3,bold,italic}}{}{}
\xpretocmd\chapter{\bookmarksetup{color=Blue4,bold,italic=false}}{}{}
\xpretocmd\section{\bookmarksetup{color={},bold,italic=false}}{}{}
\xpretocmd\subsection{\bookmarksetup{color={},bold=false,italic=false}}{}{}
\xpretocmd\subsubsection{\bookmarksetup{color=SlateGray4,bold=false,italic=false}}{}{}


\begin{document}
\part{Oberpart}
	\chapter{Vorwort}
	Text
	
	
	\part{Unterpart A}
		\chapter{Kapitel 1a}
		x
		
		\chapter{Kapitel 2a}
		x
	
	
	\part{Unterpart B}
		\chapter{Kapitel 1b}
		x
		
		\chapter{Kapitel 2b}
		x
\end{document}
Ich habe bereits sehr viel mit den Befehlen

Code: Alles auswählen

\bookmarksetup, \bookmarksetupnext
experimentiert und Optionen

Code: Alles auswählen

rellevel,startatroot,level
immer wieder ausprobiert, aber es klappt nicht automatisch, dass die Unterparts mit all ihren Gliederungsebenen als "Kinder" vom Oberpart behandelt werden. Das Kapitel "Vorwort" soll ebenfalls ein Kind vom Oberpart sein und auf gleicher Ebene mit den Unterparts liegen. Hätte da jemand eine elegante Lösung, ohne, dass ich manuell an jeder einzelnen Gliederungsebene mit

Code: Alles auswählen

\bookmarksetupnext
eingreifen muss?


Viele Grüße
Alex

Gast

Beitrag von Gast »

\part ist \part ist \part. So etwas wie Teil und Unterteil gibt es normalerweise auch nicht. Wenn du so etwas brauchst, solltest du eine Klasse nehmen, die es unterstützt. Beispielsweise kann man bei memoir oberhalb von Teilen noch Bücher verwenden. Bei KOMA-Script-Klassen kann man sich dagegen einfach mit \DeclareNewSectionCommand eine passende Gliederungsebene selbst definieren. Dabei sollte man auch darauf achten, dass die unterschiedlichen Ebenen nicht nur in den Bookmarks zu erkennen sind, sondern sich auch sonst in der Darstellung (sei es die Nummerierung oder die Formatierung) unterscheiden.

In über 90% der Fälle, in denen ich so einen Wunsch bisher gelesen habe, musste ich allerdings feststellen, dass derjenige seine Gliederung nicht wirklich durchdacht hatte und bei einem Verlag (jedenfalls bei den Verlagen, für die ich gearbeitet habe und die sich noch so etwas wie ein Lektorat leisten) auch nie damit durchgekommen wäre. Ich will jetzt nicht behaupten, dass das bei dir der Fall ist. Ich will nur anregen noch einmal darüber nachzudenken.

MeganovaBass
Forum-Anfänger
Forum-Anfänger
Beiträge: 31
Registriert: Do 24. Okt 2013, 23:40

Beitrag von MeganovaBass »

Ja, ich weiß. Die Datei, um die es sich handelt, soll aber nicht veröffentlicht werden und dient nur privatem Nutzen. Aber ich brauche keine anderen Gliederungsebenen, denn mich interessiert nur der Bookmark-Baum. Ich habe die Parts als "Oberpart" bzw. "Unterpart" benannt, damit die Leute hier erkennen können, welche Bookmarks "Kinder" deklariert werden sollen. Ich würde es auch etwas unsinnig finden, wenn es eine tatsächliche Gliederung in der Form gäbe. Das Kapitel "Vorwort" habe ich auch nur so benannt, damit es klar ist, dass vor den Parts noch etwas ist bzw. sein könnte.

Gast

Beitrag von Gast »

Du willst dass Unterpart unterhalb von Oberpart einsortiert wird. Damit ist Unterpart eine Untergliederung von Oberpart. Wenn hingegen Unterpart keine Untergliederung von Oberpart sein soll, dann wäre es auch nicht sinnvoll, das in den Bookmarks so darzustellen.

Also lautet die Empfehlung: Mach es richtig oder lass es sein.

MeganovaBass
Forum-Anfänger
Forum-Anfänger
Beiträge: 31
Registriert: Do 24. Okt 2013, 23:40

Beitrag von MeganovaBass »

Die Sinnhaftigkeit ist völlig irrelevant, ich brauche lediglich Hilfe bei der technischen Umsetzng. Es hat schon seine Gründe, warum es ist, wie es ist. Aber wenn du nicht bereit bist, mir technisch zu helfen, dann bringen leere Belehrungen auch nichts.

Gast

Beitrag von Gast »

Du willst es anscheinend nicht verstehen: Wenn du technisch eine Gliederungsebene über \part einfügst, dann löst das das Problem:

Code: Alles auswählen

\documentclass[emulatestandardclasses,ngerman,11pt,a4paper]{scrbook}
%Meine Pakete.
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
\usepackage[usenames,x11names,dvipsnames,table]{xcolor}
\usepackage{xpatch}
\usepackage{xurl}
\usepackage[bookmarks,bookmarksnumbered,backref,pagebackref,
pdfpagelabels=true,colorlinks,extension=pdf,plainpages=false]{hyperref}
\usepackage[atend]{bookmark}

% Neue Ebene \overpart definieren
\DeclareNewSectionCommand[%
  style=part,
  level=\numexpr\partnumdepth-1\relax,
  tocstyle=part,
  toclevel=\numexpr\parttocdepth-1\relax,
  tocindent=0pt,
  tocnumwidth=2em
]{overpart}
\renewcommand*{\theoverpart}{\Roman{overpart}}% Zähler römisch wie bei \part
\renewcommand*{\overpartformat}{\partname~\theoverpart}% Darstellung mit "Teil" davor wie bei \part
% Falls \overpart und \part sich den Zähler teilen sollen:
\xpretocmd{\overpart}{\setcounter{overpart}{\value{part}}\stepcounter{part}}{}{}
%Das Paket xpatch liefert mit folgenden Befehlen eine automatische
%Formatierung meiner Bookmarks.
\xpretocmd\part{\bookmarksetup{color=Red3,bold,italic}}{}{}
\xpretocmd\chapter{\bookmarksetup{color=Blue4,bold,italic=false}}{}{}
\xpretocmd\section{\bookmarksetup{color={},bold,italic=false}}{}{}
\xpretocmd\subsection{\bookmarksetup{color={},bold=false,italic=false}}{}{}
\xpretocmd\subsubsection{\bookmarksetup{color=SlateGray4,bold=false,italic=false}}{}{}


\begin{document}
\overpart{Oberpart}
   \chapter{Vorwort}
   Text
   
   
   \part{Unterpart A}
      \chapter{Kapitel 1a}
      x
     
      \chapter{Kapitel 2a}
      x
   
   
   \part{Unterpart B}
      \chapter{Kapitel 1b}
      x
     
      \chapter{Kapitel 2b}
      x
\end{document}
Wenn du dagegen weiter stur herumpfuschen willst, statt etwas dazu zu lernen, dann ist das deine Sache, aber dann solltest du nicht anderen unterstellen, dass sie nicht helfen wollen. Das ist nämlich extrem unverschämt!

MeganovaBass
Forum-Anfänger
Forum-Anfänger
Beiträge: 31
Registriert: Do 24. Okt 2013, 23:40

Beitrag von MeganovaBass »

Okay, jetzt verstehe ich erst was du meintest. Dann tut es mir wirklich leid, dass ich so reagiert habe. Es funktioniert, vielen vielen Dank.

Antworten