我目前正在写我的学士论文,到目前为止已经使用 LateX 编写了多份文件和报告。然而,我在格式化论文时遇到了一个问题。在整个工作过程中,我想使用 fancyhdr,它让我在每页的页眉处有一条水平线,页码在右上角(我的论文将单面打印)。除了我的 LOF 和 LOT 的页码外,一切都运行正常。那里的页码在中间的底部页面上(我认为是默认设置)。在这两页之后,页码又符合我的意愿了。
\documentclass[a4paper,12pt]{scrartcl}
\usepackage{tocloft}
\usepackage[english]{babel}
\usepackage{titlesec}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\rhead{\thepage}
\begin{document}
\end{document}
\listoffigures
\addcontentsline{toc}{section}{List of Figures}
\newpage
\listoftables
\addcontentsline{toc}{section}{List of Tables}
\newpage
可能存在什么问题?
答案1
不建议同时使用titlesec
或tocloft
。建议使用:fancyhdr
KOMA-Script class
scrlayer-scrpage
\documentclass[a4paper,12pt,
listof=totoc% <- added
]{scrartcl}
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage[headsepline,manualmark]{scrlayer-scrpage}
\clearpairofpagestyles
\ohead{\pagemark}
\begin{document}
\tableofcontents
\clearpage
\listoffigures
\clearpage
\listoftables
\clearpage
\blinddocument
\end{document}
注意, packagetocloft
会破坏 option 的功能listof
。另外,你还必须定义一个匹配的plain
样式:
\documentclass[a4paper,12pt]{scrartcl}
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage[headsepline,plainheadsepline,manualmark]{scrlayer-scrpage}
\clearpairofpagestyles
\ohead*{\pagemark}
\usepackage{tocloft}
\begin{document}
\tableofcontents
\cleardoublepage
\addcontentsline{toc}{section}{List of Figures}
\listoffigures
\cleardoublepage
\addcontentsline{toc}{section}{List of Figures}
\listoftables
\clearpage
\blinddocument
\end{document}
或者你必须设置\tocloftpagestyle{scrheadings}
:
\documentclass[a4paper,12pt]{scrartcl}
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage[headsepline,manualmark]{scrlayer-scrpage}
\clearpairofpagestyles
\ohead{\pagemark}
\usepackage{tocloft}
\tocloftpagestyle{scrheadings}
\begin{document}
\tableofcontents
\cleardoublepage
\addcontentsline{toc}{section}{List of Figures}
\listoffigures
\cleardoublepage
\addcontentsline{toc}{section}{List of Figures}
\listoftables
\clearpage
\blinddocument
\end{document}