如果我使用如下代码:
\chapter{Introduction}
\subfile{intro/Introduction}
\chapter{Remaining Work}
\subfile{remaining/Remaining}
结果是:
Chapter 1
Introduction
Chapter 2
Remaining Work
我想删除“第 1 章”等标题,最好用编号和标题替换。
如果我使用:
\chapter*{Introduction}
然后删除了第 1 章的标签,然而,这会破坏目录 - 章节被标记为 0.1、0.2 等,而没有按章节标记。
我怎样才能删除第 N 章标签并保持目录上的编号正确?
编辑:
完整工作示例(逐章更改*):
\documentclass{book}
\usepackage{subfiles}
\begin{document}
\addcontentsline{toc}{chapter}{Contents}
\tableofcontents
\let\cleardoublepage\clearpage
\mainmatter
\chapter{Introduction}
Test
\section{Test1}
Test
\subsection{Test1.1}
Test
\section{Test2}
Test
\section{Test3}
Test
\section{Test4}
Test
\chapter{Remaining Work}
Test
\section{Test1}
Test
\subsection{Test1.1}
Test
\section{Test2}
Test
\section{Test3}
Test
\section{Test4}
Test
\clearpage
\backmatter
\end{document}
答案1
在标准book
类中,宏\@makechapterhead
创建章节标题引导,以 开头Chapter N.... chapter title
。
使用xpatch
包,可以删除这个引导,并将其剥离为仅带有的纯标题xpatchcmd
。
\documentclass{book}
\usepackage{subfiles}
\usepackage{xpatch}%
\makeatletter % For \mainmatter chapters so far only!
\xpatchcmd{\@makechapterhead}{\huge\bfseries \@chapapp\space \thechapter}{\huge\bfseries}{}{}%
\makeatother
\begin{document}
\addcontentsline{toc}{chapter}{Contents}
\tableofcontents
\let\cleardoublepage\clearpage
\mainmatter
\chapter{Introduction}
Test
\section{Test1}
Test
\subsection{Test1.1}
Test
\section{Test2}
Test
\section{Test3}
Test
\section{Test4}
Test
\chapter{Remaining Work}
Test
\section{Test1}
Test
\subsection{Test1.1}
Test
\section{Test2}
Test
\section{Test3}
Test
\section{Test4}
Test
\clearpage
\backmatter
\end{document}