Новый раздел выше части вылетает при добавлении закладок: отсутствует действие

Новый раздел выше части вылетает при добавлении закладок: отсутствует действие

У меня проблема с созданием \bookраздела выше \part. Все идет хорошо — ToC прекрасен — пока я не добавляю пакет bookmark, а затем он вылетает с сообщением «Отсутствует действие» при первом использовании \book.

Спасибо за то, что вы есть@Гонсало Мединаза их ответ наэтот вопросдля помощи в добавлении [ \subsubsubsection][1] и@lockstepза их комментарийэтот вопросчто привело меня к chngcntrпосылке.

Поскольку я делаю \bookвыше \part, я прочитал в titlesecдокументации, что мне следует сделать loadonlyопцию пакета titlesecи переопределить все уровни с нуля. Но мне очень нравятся остальные разделы такими, какие они есть!

Я только что нашелэтот вопросс форматированием и интервалами разделов по умолчанию для стандартных классов (благодаря@Миотто!) но я не уверен, нужны ли мне еще \@startsectionбиты битов \subsubsubsectionдля изменения \paragraphи \subparagraphуровней ToC. \toclevel@Биты делают это сами по себе?

Может ли кто-нибудь помочь мне исправить эту ошибку MWE или помочь мне разобраться в \@startsectionтолько что упомянутой проблеме?

МВЭ:

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

Кроме того, я попробовал memoirкласс, но он портит слишком много настроек интервалов, чтобы это стоило моего времени. Мне нравится остальная часть моего документа как есть, и я просто хочу продолжить писать в новом томе, продолжая использовать класс book.

Спасибо за ваше время!

[1]: Мне пришлось использовать chngcntrдля перелинковки \paragraphс новым \subsubsubsection, но все остальное было здорово! Действительно полезная штука!

решение1

(Почти) все команды секционирования имеют сопутствующую команду для установки меток для заголовка. Например \chaptermark, есть , \sectionmark, \subsectionmark. Когда titlesecзадается новая команда секционирования, она также определяет \...mark команду. И поэтому ваш \bookсоздает , \bookmarkкоторая конфликтует с командой command \bookmarkиз пакета закладок.

Использование другого имени, например, \volumeрешает проблему.

bookmarkloads hyperrefи so обычно должны загружаться после всех остальных пакетов (за некоторыми исключениями), но до определения нового счетчика.

Связанный контент