使用 fancyhdr 在目录和第一个“正式”章节之间添加章节

使用 fancyhdr 在目录和第一个“正式”章节之间添加章节

我目前正在为我的大学撰写一份报告(documentclass:scrreport)。截止日期已经很近了,目前我只是在完善格式,但有一个问题我无法解决。

我想在目录和简介之间添加一个缩写列表 (LOA)(我手动制作的)。但无论我如何尝试,总会有问题。当前设置(最接近我需要的设置)是 LOA 是一个章节,但没有计数:

\chapter*{List of abbreviations}

LOA 现在按应有的方式显示在目录中:其页码为罗马数字。但是,问题是目录将 LOA 显示为第 1 章,但当我单击它时,它会跳转到简介,该简介在目录中显示为“2”,但在正文中仍显示为“1”。此外,LOA 的标题现在显示为“目录”,而不是“缩写列表”。

我尝试了很多方法,比如宣布另一个

\fancypagestyle{}

并将其仅分配给我的 LOA,但它不起作用,新的页面样式已适应每个页面 - 除了带有新章节的页面,据我所知,这些页面使用“普通”样式。

我不得不说,尽管我读过手册,但我并不真正了解 fancyhdr 软件包。我猜想问题与这个软件包有关,但我不知道它是什么。

这是 MWE:

\documentclass[a4paper, 11pt]{scrreprt}

\usepackage[url=false, style=ieee]{biblatex} 

\usepackage[left=2.5cm, right=2.5cm]{geometry} 

\usepackage{fancyhdr}
\renewcommand{\chaptermark}[1]{\markboth {\MakeUppercase{\thechapter.\ #1}}{}}
\fancyhf{} 
\fancyhead[R]{ \leftmark}
\fancyfoot[R]{\thepage} 

\fancypagestyle{fancy2}{
\fancyhead{}
\fancyhead[R]{\MakeUppercase{List of abbreviations}}
}

\fancypagestyle{plain}{
\fancyhead[R]{ \MakeUppercase{\leftmark}}
\fancyfoot[R]{\thepage} 
}
\pagestyle{plain}
\pagestyle{fancy}


\usepackage{hyperref}
\hypersetup{
colorlinks = true
}

%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
%%%%%%%%%%%%%%%%%%%%%%%

\pagenumbering{Roman}

\tableofcontents

\newpage
\chapter*{List of abbreviations}
This is the kind of text you would expect in a list of abbreviations.

\newpage
\pagenumbering{arabic}


\chapter{Chapter 1}
This is the kind of text you would expect in chapter 1.

\chapter{Chapter 2}
This is the kind of text you would expect in chapter 2.




\end{document}

请注意,在原始文档中我使用了“子文件”,但在此示例中无法实现,但可能会产生一些影响,因为现在 LOA 没有出现在 TOC 中,并且章节编号是正确的......

答案1

不幸的是,问题中没有 MWE。如果我理解正确的话,我不确定你想要做什么。

使用 KOMA-Script 类,scrreprt您可以\addchap获取带有目录和标题条目的未编号章节:

\documentclass[numbers=enddot]{scrreprt}
\usepackage{blindtext}% only for dummy text

\usepackage{fancyhdr}
\pagestyle{fancy}% use this before redefining \chaptermark
\renewcommand*{\chaptermark}[1]{\markboth{\ifnumbered{chapter}{\chaptermarkformat}{}#1}{}}
\fancyhf{} 
\fancyhead[R]{\MakeUppercase{\leftmark}}
\fancyfoot[R]{\thepage}

\renewcommand*\chapterpagestyle{fancy}% chapter pages uses page style fancy, too

\usepackage{hyperref}

\begin{document}
\tableofcontents
\addchap{List of abbreviations}
\Blindtext
\blinddocument
\end{document}

结果:

在此处输入图片描述

如果章节前缀应该在标题中(就像在您的图片中一样),则删除以下重新定义\chaptermark

\documentclass[numbers=enddot]{scrreprt}
\usepackage{blindtext}% only for dummy text

\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{} 
\fancyhead[R]{\leftmark}
\fancyfoot[R]{\thepage}

\renewcommand\chapterpagestyle{fancy}% chapter pages uses page style fancy, too

\usepackage{hyperref}

\begin{document}
\tableofcontents
\addchap{List of abbreviations}
\Blindtext
\blinddocument
\end{document}

结果:

在此处输入图片描述


建议使用scrlayer-scrheadings带有 KOMA-Script 类的 KOMA-Script 包。下面是使用 的附加示例scrlayer-scrpage

\documentclass[numbers=enddot]{scrreprt}
\usepackage{blindtext}% only for dummy text

\usepackage[automark,markcase=upper,headsepline]{scrlayer-scrpage}
\clearpairofpagestyles
\ohead{\leftmark}
\ofoot{\thepage}
\addtokomafont{pageheadfoot}{\normalfont}
%\renewcommand*\chaptermarkformat{\chapapp~\thechapter\autodot\enskip}
\renewcommand\chapterpagestyle{scrheadings}

\usepackage{hyperref}

\begin{document}
\tableofcontents
\addchap{List of abbreviations}
\Blindtext
\blinddocument
\end{document}

相关内容