我想我有一个比较具体的问题。我正在用 LaTeX 写我的本科报告scrreport
,我想在第一章之前的页面使用罗马页码。从图表列表之后的第一页(即第一章之前的最后一页)开始,我想使用阿拉伯页码。这些应该从 1 开始。
我的结构是这样的(数字是页码,我想):
摘要一
目录二
图 目录 III
第一章 1
第二章 8
...
这也是我想要的目录 (TOC) 的样子。
目前我添加了\pagenumbering{roman}
和\pagenumbering{arabic}
。这解决了页码正确的问题,但也存在一些问题:
- 我不想让摘要成为第一章,所以我用 来声明它
\chapter*{abstract}
。这样它就不会出现在目录中。另外第一章从目录中的第二页开始,尽管底部有第一页。如果我*
从摘要章节声明中删除,它会显示在目录中,但它的处理方式与第一章一样,我不喜欢。 - TOC 和图片列表 (LOF) 也不会显示在目录中。我能以某种方式添加它们吗?我猜它们之所以不显示是因为它们没有在章节中声明,而只是使用命令
\tableofcontents
和 声明\listoffigures
。
编辑:
嘿,伙计们,感谢你们的快速回复和评论!我做了更多的挖掘,找到了解决问题的方法。我手动添加了目录中缺少的三个部分(目录本身、图表列表和摘要章节),\addcontentsline{toc}{chapter}{Abstract}
在摘要章节的末尾使用
\cleardoublepage
\phantomsection
\addcontentsline{toc}{chapter}{\contentsname}
\tableofcontents
而不是简单的\tableofcontents
(图表列表也是一样)它还以某种方式解决了第一章从第 2 页开始的问题,尽管它在第 1 页。我不知道是什么解决了它,也许是使用了\cleardoublepage
?
答案1
用于\addchap{Abstract}
获取目录中有条目的未编号章节。
\documentclass[
listof=totoc% lists in TOC
]{scrreprt}
\setuptoc{toc}{totoc}% TOC in TOC
\usepackage{blindtext}% dummy text
\begin{document}
\pagenumbering{Roman}
\addchap{Abstract}
\tableofcontents
\listoffigures
\cleardoubleoddpage
\pagenumbering{arabic}
\blinddocument
\end{document}
答案2
如果您可以自由地从 类切换scrreprt
到scrbook
document 类,则可以使用后者的\frontmatter
和指令来简化问题。例如,通过使用指令,章节级条目将不会被编号,但仍会显示在目录中。\mainmatter
\frontmatter
发出指令\setuptoc{toc}{totoc}
并指定文档类选项listof=totoc
,以便目录条目和图表列表显示在目录本身中。
为了模仿类的某些布局设置scrreprt
,您可以指定文档类选项oneside
并发出指令\pagestyle{plain}
(以抑制运行标题)。
\documentclass[oneside,listof=totoc]{scrbook}
\setuptoc{toc}{totoc}
\pagestyle{plain} % no running headers
\usepackage{lipsum} % filler text
\begin{document}
\frontmatter
\pagenumbering{Roman} % default is "roman", not "Roman"
\chapter{Abstract}
\lipsum[1]
\tableofcontents
\listoffigures
\mainmatter % (i) page break, (ii) change page numbering style to "arabic"
\chapter{Chapter One}
\begin{figure}[h!] \caption{abc} \end{figure}
\lipsum[1-35]
\chapter{Chapter Two}
\lipsum[1-4]
\end{document}