我希望章节名称不打印出来,而是出现在每个章节标题中。例如:
\chapter{Mychapter}
\section{}
\blinddocument
\section{}
会打印类似
Mychapter 1
Mychapter 2
我该如何实现呢?我尝试\chaptertitle
使用titlesec \titleformat
,例如:
\titleformat{\section}[display]
{\normalfont\Large}
{\chaptertitle\ \thesection}{10pt}
{\normalfont}
但\chaptertitle
似乎仅在\sethead
和内部定义\setfoot
。
为了正确隐藏章节和编号部分,我使用了:
\renewcommand{\thechapter}{}
\renewcommand{\thesection}{\arabic{section}}
但我确信一定有更好的东西......
答案1
尝试以下操作。它不适用于 的所有选项memoir
,因为它有两个命令的可选参数\chapter
。
\documentclass{book}
\makeatletter
\let\oldchapter\chapter
\newcommand\chaphead{}
\renewcommand\chapter{%
\@afterindentfalse
\secdef\@mychapter\@schapter}
\def\@mychapter[#1]#2{%
\addcontentsline{toc}{chapter}{#1}%
\chaptermark{#1}%
\addtocontents{lof}{\protect\addvspace{10\p@}}%
\addtocontents{lot}{\protect\addvspace{10\p@}}%
\renewcommand\chaphead{#2}}
\def\chaptermark#1{%
\markboth {\MakeUppercase{#1}}{}}%
\def\sectionmark#1{%
\markright{\MakeUppercase{%
\ifnum \c@secnumdepth >\z@
\arabic{section}. \ %
\fi
#1}}}
\renewcommand\thesection{\chaphead~\arabic{section}.}
\makeatother
\begin{document}
\tableofcontents\clearpage
\chapter{First chapter}
\section{First section}
\section{Second section}
\end{document}