EthanDeng / mhlatex

Mostly Harmless LaTeX Techniques
15 stars 7 forks source link

Q2 如何加目录 #7

Open Lihua1990 opened 4 years ago

Lihua1990 commented 4 years ago

举个例子,如何让前两个没有数字编号但能显示在目录中, 且他们的页码编码与后面的章节内容不同。

Acknowledgements i List of Abbreviations iii

  1. Introduction 1 1.1 small title 2
EthanDeng commented 4 years ago

1. 添加目录

首先,在 latex 中添加目录的方法如下:将 \tableofcontents 放在你所需要目录出现的地方,一般来说,我们会把目录放在封面信息之后,也就是 \maketitle 之后。

\documentclass{book}

\author{Lisa}
\title{PhD thesis template}

\begin{document}

\maketitle
\tableofcontents

\chapter{Introduction}

content

\end{document}

需要注意的时候,在涉及到超链接、目录、参考文献的时候,都需要编译至少 2 遍才能得到正确的目录、超链接以及参考文献引用。

EthanDeng commented 4 years ago

2. 在目录中添加非编号的章节

在知道如何添加目录之后,如果想把某一章或者某一节(无编号)也添加到目录中,那么可以使用 addcontentsline 命令。具体用法

\chapter*{Acknowledgements}
\addcontentsline{toc}{chapter}{Acknowledgements}

简单解释下,第一行命令 \chapter* 表示当前章节不编号,并且不放在目录中,章节名为 Acknowledgements;第二行命令表示在目录中添加一个章目录,名为 Acknowledgements(可以与之前的不一样,比如写成 Acknow.)。示例代码如下:

\documentclass{book}

\author{Lisa}
\title{PhD thesis template}

\begin{document}

\maketitle
\tableofcontents

\chapter*{Acknowledgements}
%\addcontentsline{toc}{chapter}{Acknow.}

This is Acknowledgements.

\chapter{Introduction}
\section{small title}
content

\end{document}

你可以把上面的代码复制到 TeXstudio 里面编译下,然后把那个注释的语句取消,再看下效果。

EthanDeng commented 4 years ago

3. 修改页码格式

修改页码的通用命令是 \pagenumbering{num_style},选项 num_style 表示页码的数字格式,修改生效的范围是此命令开始直到出现下个 \pagenumberingnum_style 选择有

比如你想要 Acknowledgements 这部分的数字为小写罗马,正文为数字,可以使用

\pagenumbering{Alph}
\chapter*{Acknowledgements}
\addcontentsline{toc}{chapter}{Acknow.}

\pagenumbering{arabic}
\chapter{Introduction}
\section{small title}

也即使用 pagenumbering 切换页码格式。

额外的方法

你说那个需求太常见了,LaTeX 中有两个更为特殊的命令:\frontmatter\mainmatter,这两个命令声明前言部分和正文部分(从命令开始到下个此类型命令),对应的页码格式就是你说的前言小写罗马,正文数字的页码格式,完整代码为:

\documentclass{book}

\author{Lisa}
\title{PhD thesis template}

\begin{document}

% 封面和目录
\maketitle
\tableofcontents

% 前言部分
\frontmatter

\chapter*{Acknowledgements}
\addcontentsline{toc}{chapter}{Acknow.}

This is Acknowledgements.

\chapter*{List of Abbreviations}
\addcontentsline{toc}{chapter}{List of Abbreviations}

This is List of Abbreviations.

% 正文开始
\mainmatter
\chapter{Introduction}
\section{small title}

content

\end{document}

toc

参考文献:Page_numbering