在memoir
课堂上,我想将其包含\part
在我的书中。我使用了回忆录手册第 78 页的代码,稍作调整,以更改标题的外观\part
。但是,某些原因导致\part
信息未包含在目录中。之间的代码%
似乎是问题所在。那么,如何在文本中获得我想要的部分标题格式,同时仍将部分包含在目录中?
\documentclass[letterpaper]{memoir}
\usepackage[utf8]{inputenc}
\usepackage{lipsum}
%%%%%%%%%%%
\renewcommand{\part}[1]{%
\cleardoublepage % start a new recto page
\beforepartskip % space before Name and Number
\midpartskip % space after Name and Number
\renewcommand*{\parttitlefont}{\centering\HUGE\normalfont}
\printparttitle{#1} % print the title
\partpageend
} % finish off
%%%%%%%%%%%
\renewcommand{\partpageend}{%
\afterpartskip
\normalsize
}
\begin{document}
\tableofcontents
\part{Test Part 1}
\chapter{Name}
\lipsum*[1]
\part{Test Part 2}
\lipsum*[1]
\end{document}
答案1
您似乎想要从部分页面中删除“第一部分”并从目录中删除编号。
\documentclass[letterpaper]{memoir}
\usepackage[utf8]{inputenc}
\usepackage{lipsum}
%%%%%%%%%%%
\renewcommand*{\parttitlefont}{\centering\HUGE\normalfont}
\renewcommand{\mempreaddparttotochook}{%
\global\chardef\keepsecnumdepth=\value{secnumdepth}%
\setcounter{secnumdepth}{-1000}%
}
\renewcommand{\mempostaddparttotochook}{%
\setcounter{secnumdepth}{\keepsecnumdepth}%
}
\renewcommand{\printpartname}{}
\renewcommand{\partnamenum}{}
\renewcommand{\printpartnum}{}
%%%%%%%%%%%
\begin{document}
\tableofcontents*
\part{Test Part 1}
\chapter{Name}
\lipsum*[1]
\part{Test Part 2}
\lipsum*[1]
\end{document}
在执行目录相关工作的代码之前,我将其设置secnumdepth
为一个非常大的负值;这会抑制编号,但仍会将该部分添加到目录中。之后,计数器将重置为其先前的值。
接下来,我重新定义负责打印“第 I 部分”的宏,使其不执行任何操作。
无关,但我还在*
旁边添加了\tableofcontents
:我无法忍受“目录”标题下方的“目录”行。