我以部分/章节/节的形式组织我的书,但现在我需要创建一个更高的部分,因此文档的组织方式将如下,更高部分/部分/章节/节。
使用本文的术语:https://www.overleaf.com/learn/latex/sections_and_chapters作为文档章节中 -1 级别的部分,我需要一个 -2 级别的部分,并且目录中还具有以下所有功能。
我怎样才能做到这一点?
答案1
我们假设您的新部门单位名为book
。
\part
您可以复制所有相关的组件book.cls
并将对 的任何引用更改为part
,book
并定义适当的book
定义(如计数器及其表示)。更具体地说,您需要
- 复制并更新
\part
- 复制并更新
\@part
- 复制并更新
\@spart
- 复制并更新
\@endpart
- 复制并更新
\l@part
- 创建
book
计数器 - 更新
\thebook
以满足您的需求 - 创建
\bookname
(作为和\partname
内的对应部分)\@part
\@spart
\documentclass{book}
% Taken from book.cls:
% https://www.tug.org/svn/texlive/trunk/Master/texmf-dist/tex/latex/base/book.cls?view=co
\makeatletter
\newcommand\book{% <------------- change
\if@openright
\cleardoublepage
\else
\clearpage
\fi
\thispagestyle{plain}%
\if@twocolumn
\onecolumn
\@tempswatrue
\else
\@tempswafalse
\fi
\null\vfil
\secdef\@book\@sbook}% <------------- change
\def\@book[#1]#2{% <------------- change
\ifnum \c@secnumdepth >-3\relax% <------------- change
\refstepcounter{book}% <------------- change
\addcontentsline{toc}{book}{\thebook\hspace{1em}#1}% <------------- change
\else
\addcontentsline{toc}{book}{#1}% <------------- change
\fi
\markboth{}{}%
{\centering
\interlinepenalty \@M
\normalfont
\ifnum \c@secnumdepth >-2\relax
\huge\bfseries \bookname\nobreakspace\thebook% <------------- change
\par
\vskip 20\p@
\fi
\Huge \bfseries #2\par}%
\@endbook}% <------------- change
\def\@sbook#1{% <------------- change
{\centering
\interlinepenalty \@M
\normalfont
\Huge \bfseries #1\par}%
\@endbook}% <------------- change
\def\@endbook{\vfil\newpage% <------------- change
\if@twoside
\if@openright
\null
\thispagestyle{empty}%
\newpage
\fi
\fi
\if@tempswa
\twocolumn
\fi}
\newcommand*\l@book[2]{% <------------- change
\ifnum \c@tocdepth >-3\relax% <------------- change
\addpenalty{-\@highpenalty}%
\addvspace{2.25em \@plus\p@}%
\setlength\@tempdima{3em}%
\begingroup
\parindent \z@ \rightskip \@pnumwidth
\parfillskip -\@pnumwidth
{\leavevmode
\large \bfseries #1\hfil
\hb@xt@\@pnumwidth{\hss #2%
\kern-\p@\kern\p@}}\par
\nobreak
\global\@nobreaktrue
\everypar{\global\@nobreakfalse\everypar{}}%
\endgroup
\fi}
\makeatother
% Default additions for new sectional unit \book
\newcounter{book}
\renewcommand{\thebook}{\Roman{book}}
\newcommand{\bookname}{Book}
\begin{document}
\tableofcontents
\book{A book}
\part{A part}
\chapter{A chapter}
\section{A section}
\subsection{A subsection}
\end{document}
您必须调整目录book
以及主文档中元素的呈现方式以满足您的需要。
注意memoir
已经book
以与我上面所做的类似的方式定义了部分单位/级别。
答案2
该类memoir
(的超集)有 8 个部门级别,book
范围从\book
、、到。part
\chapter
\subparagraph