我正在写一份报告,其中有阿拉伯数字和罗马数字页码。阿拉伯数字可以正确显示,没有任何问题,但罗马数字只显示目录前最后一个页码。
\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[nottoc]{tocbibind}
\usepackage{mathtools}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{float}
\usepackage{bm}
\usepackage{graphicx}
\usepackage{enumitem}
\usepackage{titlesec}
\usepackage{fancyhdr}
\usepackage{gobble}
\title{
{\includegraphics[scale=0.7]{Logo.png}}
\\\vspace{\baselineskip}\textbf{Project name}
}
\author{Me\\\\by\\\\Me\\\\xxxx}
\date{\vspace{5cm}Word Count: xxxx}
\pagenumbering{roman}
\pagestyle{fancy}
\fancyhead{}
\fancyhead[R]{\thepage}
\fancyhead[L]{Class}
\fancyfoot{}
\fancyfoot[L]{Me}
\begin{document}
\maketitle
\pagenumbering{}
\pagebreak
\pagenumbering{roman}
\fancyhead{}
\fancyhead[L]{Class}
\fancyhead[R]{\thepage}
\section*{Originality Statement}
Stuff
\section*{Acknowledgements}
More stuff
\newpage
\section*{Abstract}
Insert abstract here
\newpage
\fancyfoot{}
\tableofcontents
\addcontentsline{toc}{section}{\protect\numberline{}Originality Statement}
\addcontentsline{toc}{section}{\protect\numberline{}Acknowledgements}
\addcontentsline{toc}{section}{\protect\numberline{}Abstract}
\newpage
\listoffigures{}
\newpage
\pagenumbering{arabic}
\fancyhead{}
\fancyhead[L]{Introduction}
\fancyfoot{}
\fancyfoot[L]{Me}
\fancyfoot[R]{\thepage}
\section{Introduction}
更具体地说,第一页没有编号,因为它是标题页,然后从那里开始,它们都用罗马数字编号直到目录,其中目录只显示目录中所有页面的 iv,即使它们已经换页并且显示了不同的页码。
答案1
命令\addcontentsline
应该放在章节开始的地方,这样 LaTeX 才能提供正确的页码。我会省略这个命令\protect\numberline{}
,这样标题就会移到右边。
另外,我会定义一些页面样式,而不是重新设置文档正文中的参数。这些样式适用frontmatter
于摘要和其他未编号部分、toclof
目录和图表列表以及mainmatter
文档正文。
\documentclass[a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[nottoc]{tocbibind}
\usepackage{mathtools}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{float}
\usepackage{bm}
\usepackage{graphicx}
\usepackage{enumitem}
\usepackage{titlesec}
\usepackage{fancyhdr}
%\usepackage{gobble} % do you really need it?
\usepackage{lipsum} % just for the example
%% define some page styles
\fancypagestyle{frontmatter}{%
\fancyhf{}%
\fancyhead[R]{\thepage}%
\fancyhead[L]{Class}%
\fancyfoot[L]{Me}%
}
\fancypagestyle{toclof}{%
\fancyhf{}%
\fancyhead[R]{\thepage}%
\fancyhead[L]{Class}%
}
\fancypagestyle{mainmatter}{%
\fancyhf{}%
\fancyhead[R]{\thepage}%
\fancyhead[L]{\leftmark}%
}
\title{%
\includegraphics[width=4cm]{example-image}\\[\baselineskip]\textbf{Project name}%
}
\author{Me\\[\baselineskip] by\\[\baselineskip] Me\\[\baselineskip] xxxx}
%\date{\vspace{5cm}Word Count: xxxx}
\begin{document}
\maketitle
\thispagestyle{empty}
\clearpage
\pagenumbering{roman}
\pagestyle{frontmatter}
\section*{Originality Statement}
\addcontentsline{toc}{section}{Originality Statement}
Stuff
\section*{Acknowledgements}
\addcontentsline{toc}{section}{Acknowledgements}
More stuff
\clearpage
\section*{Abstract}
\addcontentsline{toc}{section}{Abstract}
Insert abstract here
\clearpage
\pagestyle{toclof}
\tableofcontents
\clearpage
\listoffigures
\clearpage
\pagenumbering{arabic}
\pagestyle{mainmatter}
\section{Introduction}
\lipsum[1-20]
\end{document}
答案2
一些评论和意见:
您的文档在前言中有几个未编号的节级标题。但是,由于相应的
\addcontentsline
指令仅在后面插入,即在 之后\tableofcontents
,因此目录中显示的三个未编号节标题的页码可能不正确。明显的解决方法是:将\addcontentsline{toc}{section}{...}
语句插入指令之后\section*
,而不是 之后\tableofcontents
。您的文档包含太多(而且位置不当)
\pagenumbering
说明。请修复此问题。并且,请注意的参数\pagenumbering
不应为空。\listoffigures
做不是提出论点。尽管标题页不应显示明确的页码,但仍应对其进行编号,以便第二页有页码
ii
而不是i
。\thispagestyle{empty}
紧接着使用\maketitle
以抑制页码的显示。可选:加载
tocloft
包以抑制大胆的目录中的页码。
\documentclass[a4paper,demo]{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[nottoc]{tocbibind}
\usepackage{mathtools,amssymb,float,bm}
\usepackage{graphicx,enumitem,titlesec,fancyhdr}
%%%\usepackage{gobble}
\title{%
\includegraphics[scale=0.7]{Logo.png}
\\ \vspace{\baselineskip}
\textbf{Project name}}
\author{Me\\\\by\\\\Me\\\\xxxx}
\date{\vspace{5cm}Word Count: xxxx}
\pagestyle{fancy}
\fancyhead{}
\fancyhead[R]{\thepage}
\fancyhead[L]{Class}
\fancyfoot{}
\fancyfoot[L]{Me}
%% Optional: use 'tocloft' package to un-bold page numbers
\usepackage[titles]{tocloft}
\renewcommand{\cftsecpagefont}{\mdseries} % default is '\bfseries'
\begin{document}
\pagenumbering{roman}
\maketitle
\thispagestyle{empty} % optional
\newpage
\fancyhead{}
\fancyhead[L]{Class}
\fancyhead[R]{\thepage}
\section*{Originality Statement}
\addcontentsline{toc}{section}{Originality Statement}
Stuff
\section*{Acknowledgments}
\addcontentsline{toc}{section}{Acknowledgments}
More stuff
\newpage
\section*{Abstract}
\addcontentsline{toc}{section}{Abstract}
Insert abstract here
\newpage
\fancyfoot{}
\tableofcontents
\newpage
\listoffigures
\newpage
\pagenumbering{arabic}
\fancyhead{}
\fancyhead[L]{Introduction}
\fancyfoot{}
\fancyfoot[L]{Me}
\fancyfoot[R]{\thepage}
\section{Introduction}
\end{document}