使用 fancyhdr 无法在 \tableofcontents \listoffigures 和 \listoftables 中对页码进行编号

使用 fancyhdr 无法在 \tableofcontents \listoffigures 和 \listoftables 中对页码进行编号

我正在 sharelatex.com 上撰写我的学士论文,并使用 XeLaTeX 进行编译。在下面的代码中,我想要\目录 \图片列表\表列表以罗马字母在右上角显示页码。但是它不起作用。其余页面都有。我希望它采用\fancyhdr。有没有办法强制执行这个?或者我遗漏了什么?

\documentclass[12pt,a4paper,oneside]{article}
\usepackage[top=25mm,bottom=20mm,left=35mm,right=30mm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{graphicx} % für Grafiken
%\usepackage[]{hyperref}
\usepackage{amsmath}
\usepackage{titlesec}
\usepackage{amssymb}
\usepackage{caption} %Überschriften für Bilder
\captionsetup{font={small,it}}
\usepackage{listings}
\usepackage{color}
\usepackage{times}
\usepackage[numbers,square]{natbib}
\usepackage{blindtext}
\usepackage{fancyhdr}
\usepackage{tabto}
\usepackage{paracol}
\usepackage{tocloft}
\usepackage[onehalfspacing]{setspace}
\usepackage{nomencl}
\usepackage{tabularx}
\usepackage{float} %Position erzwingen
\usepackage{array} %feste Spaltenbreite einstellbar
\usepackage{eurosym}
\usepackage{subcaption}
\usepackage{acronym}


\begin{document}
\begin{titlepage}
    \centering
    \Huge
    Titlepage
\end{titlepage}

\setlength{\parindent}{0em} %keine Einrückung nach Absatz


\pagestyle{fancy}
\fancyhf{}
\setcounter{page}{1}
\fancyhead[R]{\thepage}
%\renewcommand{\headrulewidth}{0.5pt}
\pagenumbering{Roman}


\addcontentsline{toc}{section}{Affidavit}
\section*{Affidavit}
Affidavit
\clearpage   %\input{Affidavit}

\tableofcontents
\clearpage

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

\begin{acronym}[TCP]
\acro{TCP}{Transmission Control Protocol}
\end{acronym}

\clearpage


\listoffigures
\addcontentsline{toc}{section}{List of Figures}
\clearpage

\listoftables
\addcontentsline{toc}{section}{List of Tables}
\clearpage



\fancyhead[L]{\nouppercase{\rightmark}}

\pagenumbering{arabic}

\section{Mainbody}
Text

\clearpage


% \pagenumbering{Roman}
% \fancyhf{}
% \rhead{\thepage}
% \setcounter{page}{6}
% \addcontentsline{toc}{section}{References}\clearpage
% \nocite{*}
% \bibliographystyle{unsrtnat}
% \bibliography{References}
% \clearpage

% \begin{appendix}
%  \input{Sections/Appendix}\clearpage
% \end{appendix}

\end{document}

答案1

你可以使用

\tocloftpagestyle{fancy}

将 ToC、LoF 和 LoT 中第一页的页面样式更改为。(即使类为 ,这些页面也会fancy默认tocloft使用。)plainarticle

例子:

\documentclass{article}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[R]{\thepage}

\usepackage{tocloft}
\tocloftpagestyle{fancy}%<- sets the page style on the first page of ToC, LoF and LoT

\usepackage[nottoc]{tocbibind}%<- add an ToC entry for LoF and LoT

\usepackage{blindtext}
\begin{document}
\pagenumbering{Roman}
\tableofcontents
\clearpage
\listoffigures
\clearpage
\listoftables
\cleardoublepage
\pagenumbering{arabic}
\Blinddocument
\end{document}

结果:

在此处输入图片描述

请注意,我已经使用包tocbibind来获取 ToC 中的 LoF 和 LoT 的条目。

如果没有包tocbibind你可以使用:

\cftafterloftitle{\addcontentsline{toc}{section}{\listfigurename}}
\cftafterlottitle{\addcontentsline{toc}{section}{\listtablename}}

答案2

感谢@John Kormylo 我将“页面样式设置”更改为:并且它立即起作用了!

\fancyhf{}
\pagestyle{fancy}
\fancyhead[R]{\thepage}
\pagenumbering{Roman}
\fancypagestyle{plain}  %%%%%%%VERY IMPORTANT%%%%%%%%%%

相关内容