报告文档类别,带右上角页码并修改章节标题格式

报告文档类别,带右上角页码并修改章节标题格式

我正在写一篇很长的硕士论文,需要对我的 TeX 文档进行一些烦人的编辑。我需要将所有主要标题(目录、图片列表、表格列表、参考书目和章节标题)居中并位于各自页面的顶部。此外,我必须将页码放在所有页面的右上角。不幸的是,目前我无法同时完成这两项工作。这是我的 MWE:

\documentclass[12pt]{report}
\usepackage{fancyhdr}
\usepackage{setspace}
\usepackage[top=1in,bottom=1in,right=1in,left=1.5in]{geometry}
\usepackage{geometry}
\usepackage{graphics}
\usepackage{graphicx}
\usepackage{float}
\usepackage[hang, raggedright]{subfigure}
\usepackage{amsmath}
\usepackage{xfrac}
\usepackage{indentfirst}
\usepackage{caption}
\usepackage{tabu}
\usepackage{siunitx}
\usepackage[subfigure]{tocloft}
\usepackage{caption}
\usepackage{titlesec}

\setcounter{secnumdepth}{5}
\setcounter{tocdepth}{2}

\renewcommand\cftchapfont{\mdseries}
\renewcommand\cftchappagefont{\mdseries}

\captionsetup[table]{labelsep=space}
\captionsetup[figure]{labelsep=space}

\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\rhead{\thepage}
\pagestyle{fancy}
\assignpagestyle{\chapter}{fancy}
\setlength{\headheight}{15pt}

\renewcommand{\contentsname}{\hfill {\bf{\large TABLE OF CONTENTS}} \hfill}
\renewcommand{\listtablename}{\hspace{2in}\bf\large LIST OF TABLES}
\renewcommand{\listfigurename}{\hspace{2in}\bf\large LIST OF FIGURES}
\renewcommand{\bibname}{\hspace{2.1in}\bf\large REFERENCES}

\titleformat{\chapter}[display]{\normalfont\Large\bfseries\centering}{CHAPTER \thechapter}{-12pt}{\Large}
\titlespacing*{\chapter}{0pt}{-12pt}{24pt}
\titleformat{\section}{\large\bfseries}{\thesection}{1em}{}

\begin{document}

\tableofcontents
\clearpage
\listoftables
\clearpage
\listoffigures

\doublespacing
\chapter{A Chapter}
some text

\clearpage
some text on another page
\end{document}

这当然是一份更大文档的一部分(我的论文目前有 114 页......)但在这里我包含了我所有的序言和一份小型工作文档来展示我的问题。

如果我删除这一行:

 \titleformat{\chapter}[display]{\normalfont\Large\bfseries\centering}{CHAPTER \thechapter}{-12pt}{\Large}

从代码中,我确实在页面的右上角获得了页码(仅用于章节标题),但当然我仍然需要将标题居中并位于顶部。而且我不确定如何将目录、图片列表和表格列表放在页面的右上角。

我非常感谢在这个问题上能得到的所有帮助,如果您需要有关我的代码的更多信息,请询问。

答案1

您应该尝试在序言中插入以下代码:

\setlength{\headheight}{15pt}
\fancypagestyle{plain}{%
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\fancyhead[R]{\thepage}
\fancyhead[C]{\leftmark}}
\pagestyle{plain}

这将在所有页面上打印标题(ToC、LoF、LoT、章节名称)在页眉中央,并在页面右上角打印页码。如果您想在某一页上禁用此功能,请使用该\thispagestyle{empty}命令。

评论不要忘记删除序言的这一部分

\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\rhead{\thepage}
\pagestyle{fancy}
\assignpagestyle{\chapter}{fancy}
\setlength{\headheight}{15pt}

笔记您已重新定义 ToC、LoF 和 LoT 的标签,这导致相应标题的对齐有些不协调。然后由您决定是保留它们还是重新定义它们。

编辑正如 egreg 所建议的那样,重新定义使用命令来改变普通样式\leftmark。更好的方法是在序言中使用以下代码:

\setlength{\headheight}{15pt}
\pagestyle{fancy}
\fancypagestyle{mystyle}{%
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\fancyhead[R]{\thepage}
\fancyhead[C]{\leftmark}}
\pagestyle{mystyle}

并致电\thispagestyle{mystyle}如果您希望在这些页面上也使用这种样式。但是,如果 ToC、LoF 或 LoT 超过一页,您在使用这种新样式时会遇到一些问题,因为它不会在相关表格的第一页上使用(请参阅此问题和答案)。在这种情况下,一种解决方法是plain按照前面的建议重新定义样式。

相关内容