我正在为我们研究所的博士论文准备一个模板。该论文包括已发表的论文章节和常规书籍章节。我正在基于 book.cls 进行构建。我还使用 fancyhdr 为论文章节和常规书籍章节设置了不同的页面样式。现在我想更改目录中章节和部分的编号以及标题,如下所示:
1 Introduction
1.1 Motivation
1.1.1 First Motivation
1.1.2 First Motivation
1.2 Objectives
...
P2 FirstPaper
P2-1 Introduction
P2-2 Methods
P2-2.1 Approach
P2-2.2 Validation
...
3 RegularChapter
3.1 Introduction
3.2 Methods
3.2.1 Approach
3.2.2 Validation
...
我猜应该有某种方法可以在 \fancypagestyle 命令期间重新定义 \thechaper \thesection \thesubsection 命令。我还尝试查看 titlesec 包,但无法识别用于编号的命令(如果有)。大多数内容都涉及标题格式。
希望我已经很好地描述了这个问题。有人能帮助我吗?谢谢!
答案1
编辑:我添加了一个更通用的方法,将相关命令外包给序言。我忽略了这不是你正在写的一次性文档,而是一篇论文模板。抱歉。改进的方法应该更符合你的问题的精神:即使文档中的章节移动很多,也不太可能导致错误;对于最终用户来说,它也应该更顺畅,他们不必在文档中间重新定义内部结构,例如\thechapter
。
(编辑已经被接受的答案并不理想。但我希望你会发现添加的内容不会损害原始解决方案。)
欢迎来到 TeX.SX!
解决方案 1:您可以\thechapter
在需要特殊格式的章节之前重新定义,之后恢复为默认格式。此解决方案不需要额外的软件包。
\documentclass{book}
\begin{document}
\tableofcontents
\chapter{First chapter}
\section{Regular section}
\let\oldthechapter\thechapter
\renewcommand*{\thechapter}{P\oldthechapter}
\chapter{Paper – chapter}
\section{Paper – section}
\subsection{Paper – subsection}
\let\thechapter\oldthechapter
\chapter{Third chapter}
\section{Regular section}
\end{document}
解决方案 2\paperchapter
:通过围绕标准构建一种新章节()可以实现相同的效果\chapter
。每当用户\paperchapter
在主文档中调用时,都会通过添加“P”重新定义编号格式;每当\chapter
调用常规时,都会恢复默认格式。
章节的连续编号得以保留;带星号的版本和可选参数(\paperchapter[Short Title]{Long Title}
)仍然可用。
\documentclass{book}
\let\oldthechapter\thechapter
\let\oldchapter\chapter
\newcommand*{\paperchapter}{\renewcommand*{\thechapter}{P\oldthechapter}\oldchapter}
\renewcommand*{\chapter}{\renewcommand*{\thechapter}{\oldthechapter}\oldchapter}
\begin{document}
\tableofcontents
\chapter{First chapter}
\section{Regular section}
\paperchapter{Paper – chapter}
\section{Paper – section}
\subsection{Paper – subsection}
\chapter{Third chapter}
\section{Regular section}
\end{document}