将标题添加到目录表,\tableofcontents 错误

将标题添加到目录表,\tableofcontents 错误

我遇到了一个奇怪的问题。

我一直在尝试将标题添加到目录页中。由于在序言中使用 \thispagestyle{fancy} 和 \usepackage{fancyhdr} 无法“识别”目录的第一页。不仅缺少标题,而且目录中的页码从第 IV 页开始,而目录页从 III 开始。您知道我可能做错了什么吗?请在下面找到我的代码:

%% Language and font encodings

\usepackage[english]{babel}
\usepackage[utf8x]{inputenc}
\usepackage{titlesec}

\titleformat{\chapter}[hang] 
{\centering\normalfont\huge\bfseries}{\chaptertitlename\ \thechapter}{0.5em}{}
\titlespacing*{\chapter}{0pt}{0pt}{20pt}

\usepackage[T1]{fontenc}
\usepackage{fancyhdr}
\usepackage{bm}


%% Sets page size and margins
\usepackage[usegeometry]{typearea}

\usepackage[a4paper,top=3cm,bottom=3cm,left=3cm,right=3cm,marginparwidth=1.75cm]{geometry}

%% Useful packages
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage[colorinlistoftodos]{todonotes}
\usepackage[colorlinks=true, allcolors=black]{hyperref}
% For Tables: 
\usepackage{booktabs}
\usepackage{multirow}
\usepackage{lscape} 

\usepackage{scrlayer}




\usepackage{array, makecell}
\usepackage{longtable}
%Chinese Language packets
\usepackage{xeCJK}
\usepackage{zhnumber}

\usepackage{rotating}
\usepackage{afterpage}
\usepackage{arydshln}
\usepackage{geometry}
\usepackage{siunitx}


\title{some title}
\author{name}
% Update supervisor and other title stuff in title/title.tex

\begin{document}


\input{title/title_chinese.tex}
\input{title/title_english.tex}
\input{title/Supervisors.tex}
\pagestyle{fancy}
\fancyhf{}
\chead{\leftmark}
\fancyfoot[C]{\textbf{\thepage}}



\pagenumbering{Roman}
\input{Abstract/abstract}\thispagestyle{fancy}

\tableofcontents{\protect\thispagestyle{fancy}}\addcontentsline{toc}{chapter}{Contents\dotfill}

\listoftables\thispagestyle{fancy}
\addcontentsline{toc}{chapter}{List Of Tables\dotfill}

\listoffigures\thispagestyle{fancy}
\addcontentsline{toc}{chapter}{List of Figures\dotfill}
\input{title/Nomenclature}
´´´

答案1

问题出在这一行:

\tableofcontents{\protect\thispagestyle{fancy}}\addcontentsline{toc}{chapter}{Contents\dotfill}

\thispagestyle{fancy}在目录之后执行此操作,因此它只会影响目录的最后一页。然后您将“Contents\dotfill”添加到目录中,但此时它已经位于最后一页,因此您将获得该页码。

将该行替换为以下内容:

\newpage
\addcontentsline{toc}{chapter}{Contents\dotfill}
\addtocontents{toc}{\protect\thispagestyle{fancy}}
\tableofcontents

相关内容