\part 未出现在目录中(回忆录)

\part 未出现在目录中(回忆录)

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:我无法忍受“目录”标题下方的“目录”行。

相关内容