
Tengo problemas para crear una \book
sección arriba \part
. Todo va bien (el ToC es hermoso) hasta que agrego el bookmark
paquete y luego falla con una "Acción faltante" en el primer uso de \book
.
Gracias hasta ahora@GonzaloMedinapor su respuesta aesta preguntapara obtener ayuda para agregar [ \subsubsubsection
][1] y@locksteppor su comentario sobreesta preguntaEso me llevó al chngcntr
paquete.
Desde que estoy haciendo \book
lo anterior \part
, leí en la titlesec
documentación que se supone que debo hacer la loadonly
opción de paquete titlesec
y redefinir todos los niveles desde cero. ¡Pero me gustan mucho el resto de las secciones tal como están!
Acabo de encontraresta preguntacon el formato y espaciado predeterminados de las secciones para clases estándar (gracias a@miotto!) pero no estoy seguro de si todavía necesito los \@startsection
bits \subsubsubsection
para cambiar \paragraph
y \subparagraph
los niveles de ToC. ¿Los \toclevel@
bits lo hacen por sí solos?
¿Alguien puede ayudarme a solucionar este MWE o ayudarme a descifrar el \@startsection
problema que acabo de mencionar?
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}
Además, probé la memoir
clase, pero estropea demasiadas configuraciones de espaciado como para que valga la pena. Me gusta el resto de mi documento tal como está y solo quiero continuar escribiendo en un nuevo volumen mientras sigo usando la book
clase.
¡Gracias por tu tiempo!
[1]: Tuve que volver chngcntr
a vincular el archivo \paragraph
al nuevo \subsubsubsection
, ¡pero todo lo demás estuvo genial! ¡Cosas realmente útiles!
Respuesta1
(Casi) todos los comandos de Seccionamiento tienen un comando adjunto para establecer las marcas para el encabezado. Hay, por ejemplo \chaptermark
, \sectionmark
, \subsectionmark
. Cuando titlesec
configura un nuevo comando de sección, también define un \...mark
comando. Y entonces \book
crea un comando \bookmark
que choca con el \bookmark
comando del paquete de marcadores.
Usar otro nombre, por ejemplo, \volume
resuelve el problema.
bookmark
loads hyperref
y so normalmente deberían cargarse después de todos los demás paquetes (con algunas excepciones) pero antes de definir el nuevo contador.