我使用报告类。我总共有 8 个章节,但我只希望 6 个章节有编号。所以我想从第三章开始编号,前两章应该只在目录中显示标题。所以基本上我有以下章节:缩写、前言、理论背景等。
我想要缩写和前言在目录中仅显示为标题,并从理论背景开始编号。关于如何做到这一点,有什么建议吗?
答案1
您始终可以在此处使用带星号的分段命令 ( \chapter*
) 来阻止编号以及目录条目。
但是,就您而言,您希望有目录列表,因此必须使用\addcontentsline
(请参阅短代码)手动添加它
请注意,带星号的章节不使用\cleardoublepage
,因此它们从下一页开始。
\documentclass{report}
\usepackage{blindtext}
\begin{document}
\tableofcontents
\chapter*{First}
\addcontentsline{toc}{chapter}{First}
\blindtext
\chapter*{Second}
\addcontentsline{toc}{chapter}{Second}
\blindtext
\chapter{First numbered one}
\blindtext
\end{document}
\chapter*
编辑 - 一个更复杂的版本,向目录添加一个可选参数!
\documentclass{report}
\usepackage{blindtext}
\usepackage{etoolbox}
\begin{document}
%%% Redefine the chapter commands such that \chapter*[short_title]{Long title} is possible
\let\LaTeXStandardChapter\chapter
\makeatletter
\newcommand{\unstarredchapter@opt}[2][]{%
\LaTeXStandardChapter[#1]{#2}%
}
\newcommand{\unstarredchapter@noopt}[1]{%
\unstarredchapter@opt[#1]{#1}%
}%
\newcommand{\starredchapter@opt}[2][]{%
\LaTeXStandardChapter*{#2}
\ifblank{#1}{}{%
\addcontentsline{toc}{chapter}{#1}}
}%
\newcommand{\starredchapter@noopt}[1]{%
\starredchapter@opt[]{#1}%
}%
\newcommand{\starredchapter}{%
\@ifnextchar[{\starredchapter@opt}{\starredchapter@noopt}
}%
\newcommand{\unstarredchapter}{%
\@ifnextchar[{\unstarredchapter@opt}{\unstarredchapter@noopt}
}%
\renewcommand{\chapter}{%
\@ifstar{\starredchapter}{\unstarredchapter}
}%
\makeatother
\tableofcontents
\chapter*[Abbreviations]{Abbreviations}
\blindtext
\chapter*[Preface]{Preface}
\blindtext
\chapter{Theoretical background}
\blindtext
\chapter*{A starred chapter with no toc entry}
\end{document}
答案2
使用
\setcounter{chapter}{2}
章节编号从 3 开始。
要将缺失的章节添加到目录中,您可以使用:
\setcounter{page}{4}
\addcontentsline{toc}{chapter}{1. Hello}
\setcounter{page}{14}
\addcontentsline{toc}{chapter}{2. world}
\setcounter{chapter}{5}
据我所知,您需要为每个章节生成至少一页,以便在目录中正确编排页码。