Neuer Abschnitt über Teil stürzt beim Hinzufügen von Lesezeichen ab: Fehlende Aktion

Neuer Abschnitt über Teil stürzt beim Hinzufügen von Lesezeichen ab: Fehlende Aktion

Ich habe ein Problem beim Erstellen eines \bookAbschnitts oben \part. Alles läuft gut – das Inhaltsverzeichnis ist wunderschön – bis ich das bookmarkPaket hinzufüge und es dann bei der ersten Verwendung mit der Meldung „Fehlende Aktion“ abstürzt \book.

Vielen Dank geht bisher an@Gonzalo Medinafür ihre Antwort aufdiese Fragefür Hilfe beim Hinzufügen von [ \subsubsubsection][1] und zu@lockstepfür ihren Kommentar zudiese Fragedas hat mich zu dem chngcntrPaket geführt.

\bookDa ich oben arbeite \part, habe ich in der titlesecDokumentation gelesen, dass ich die loadonlyPaketoption aktivieren titlesecund alle Ebenen von Grund auf neu definieren soll. Aber die restlichen Abschnitte gefallen mir wirklich gut, so wie sie sind!

Ich habe gerade gefundendiese Fragemit der Standardformatierung und dem Abstand der Abschnitte für Standardklassen (dank@Miotto!), aber ich bin mir nicht sicher, ob ich die \@startsectionBits \subsubsubsectionzum Ändern \paragraphder \subparagraphInhaltsverzeichnisebenen noch benötige. Machen die \toclevel@Bits das von alleine?

Kann mir jemand helfen, dieses MWE zu beheben oder das gerade erwähnte Problem zu entschlüsseln \@startsection?

MWE:

\documentclass{book}

% this part breaks the whole thing at the first occurence of \book
\PassOptionsToPackage{bookmarks=true,bookmarksopen=true,bookmarksnumbered=true,
            bookmarksopenlevel=6,
            colorlinks=true,
            linkcolor=blue,
            anchorcolor=blue
            }{hyperref}
\usepackage{bookmark}

\usepackage{titlesec,titletoc}
\usepackage{xparse}

\usepackage{chngcntr} % to change within of counters

% new book sectioning level
\titleclass{\book}[-2]{page}
\newcounter{book}
\renewcommand{\thebook}{\Roman{book}}
\titleformat{\book}{\centering\normalfont\huge\bfseries{}Volume \thebook\\\Huge}{}{0pt}{}
\titlespacing*{\book}{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}

% attach part counter to book
\titleclass{\part}{page}[\book]
\counterwithin*{part}{book}
\titleformat{\part}{\centering\normalfont\huge\bfseries{}Part \thepart\\\Huge}{}{0pt}{}

% fix chapter -- somehow above broke it?
\counterwithout{chapter}{part}
\counterwithin*{chapter}{part}

% to create a subsubsub section and have it work in between subsubsection
% and paragraph as a TOC placeholder:
\titleclass{\subsubsubsection}{straight}[\subsubsection]
\newcounter{subsubsubsection}[subsubsection]
\renewcommand\thesubsubsubsection{\thesubsubsection.\arabic{subsubsubsection}}
\titleformat{\subsubsubsection}{\normalfont\normalsize\bfseries}{\thesubsubsubsection}{1em}{}
\titlespacing*{\subsubsubsection}{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}

% attach paragraph counter to subsubsubsection
\renewcommand\theparagraph{\thesubsubsubsection.\arabic{paragraph}} % optional; useful if paragraphs are to be numbered
\counterwithout{paragraph}{subsubsection}
\counterwithin{paragraph}{subsubsubsection}

\makeatletter
\renewcommand\paragraph{\@startsection{paragraph}{5}{\z@}%
  {3.25ex \@plus1ex \@minus.2ex}%
  {-1em}%
  {\normalfont\normalsize\bfseries}}
\renewcommand\subparagraph{\@startsection{subparagraph}{6}{\parindent}%
  {3.25ex \@plus1ex \@minus .2ex}%
  {-1em}%
  {\normalfont\normalsize\bfseries}}
% set toc levels
\def\toclevel@book{-2}
\def\toclevel@subsubsubsection{4}
\def\toclevel@paragraph{5}
\def\toclevel@subparagraph{6}
% set toc line styles
\def\l@book{\@dottedtocline{-2}{0em}{1.5em}}
\def\l@part{\@dottedtocline{-1}{3em}{1.5em}}
\def\l@chapter{\@dottedtocline{0}{6em}{1.5em}}
\def\l@section{\@dottedtocline{1}{9em}{2em}}
\def\l@subsection{\@dottedtocline{2}{12em}{3em}}
\def\l@subsubsection{\@dottedtocline{3}{15em}{3.5em}}
\def\l@subsubsubsection{\@dottedtocline{4}{18em}{4.5em}}
\def\l@paragraph{\@dottedtocline{5}{21em}{5.5em}}
\def\l@subparagraph{\@dottedtocline{6}{24em}{6.5em}}
\makeatother

\setcounter{secnumdepth}{5}
\setcounter{tocdepth}{5}

\begin{document}

\frontmatter
\tableofcontents
\mainmatter

\book{Explore}

\part{Intro}

\chapter{Welcome}
blah
\section{Stuff}
blah
\subsection{Dude}
blah
\subsubsection{Dudette}
blah
\subsubsubsection{Sweet}
blah
\paragraph{Hello}
blah
\subsubsubsection{Nice}
blah
\paragraph{Bye}
blah

\section{Things}
blah
\chapter{Goodbye}
blah
\section{Indeed}
blah

\book{Wander}

\part{Intro Again}

\chapter{Welcome Again}
blah
\section{Hmm}
blah

\end{document}

Außerdem habe ich die Klasse ausprobiert memoir, aber sie bringt zu viele Abstandseinstellungen durcheinander, als dass es sich lohnen würde. Der Rest meines Dokuments gefällt mir so, wie es ist, und ich möchte einfach in einem neuen Band weiterschreiben und dabei weiterhin die bookKlasse verwenden.

Vielen Dank für Ihre Zeit!

[1]: Ich musste zwar verwenden, chngcntrum die \paragraphmit der neuen zu verknüpfen \subsubsubsection, aber ansonsten war alles super! Wirklich hilfreiches Zeug!

Antwort1

(Fast) alle Abschnittsbefehle haben einen begleitenden Befehl, um die Markierungen für die Kopfzeile zu setzen. Es gibt z. B. \chaptermark, \sectionmark, \subsectionmark. Wenn titlesecSie einen neuen Abschnittsbefehl einrichten, definiert er damit auch einen \...mark Befehl. Und so \bookerstellt Ihr einen , der mit dem Befehl aus dem Lesezeichenpaket \bookmarkkollidiert .\bookmark

Die Verwendung eines anderen Namens \volumelöst beispielsweise das Problem.

bookmarkwird geladen hyperrefund sollte daher normalerweise nach allen anderen Paketen (mit wenigen Ausnahmen) geladen werden, aber bevor Sie den neuen Zähler definieren.

verwandte Informationen