为我的报告定制 Fancy Header fancyhdr 包

为我的报告定制 Fancy Header fancyhdr 包

我是 LATEX 新手,正在写一篇论文报告,我想在文档标题中添加一些关于章节编号及其名称的信息。所以我正在使用fancyhdr包。我想fancyhdr显示第1章在标题的左侧,它的名字如下介绍在页眉右侧。请帮我看看如何才能做到这一点?请确保我不想将这两段文字“第 1 章和简介”加粗。

我的代码是:

% Customising headers - fancyhdr.pdf
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{%
\markboth{#1}{}}
\rhead{}
\lhead{\nouppercase{\textsc{\leftmark}}}
\makeatletter
\renewcommand{\chaptermark}[1]{\markboth{\textsc{\@chapapp}\ \thechapter:\ 
#1}{}}
\makeatother

答案1

所以你想使用 fancyhdr。正如他们所写的docs:用于\lhead{TEXT}在页眉的左侧部分书写。l如果您想要在其他地方书写,只需将其切换出来:即l左侧、c中间和r右侧。页脚也类似:\cfoot{TEXT}将文本放在页脚中央。

正如您在代码中尝试做的那样:要获取章节名称,您可以重新定义在调用\chaptermark时设置的。然后使用以下方法检索它(此处)\chapter\leftmark

仅包含\@chapapp文本“章节”并\thechapter具有章节编号。但您只希望它包含章节名称,这是 调用#1的参数\chapter。因此,您的 的新定义\chaptermark应该是:

\renewcommand{\chaptermark}[1]{\markboth{#1}{}}

现在\leftmarks仅包含章节名称。

像这样:

\documentclass{report}
\usepackage{fancyhdr}

\pagestyle{fancy}
% Set "Chapter" and chapter _number_ on left header
\lhead{Chapter \thechapter}
% Set chapter _name_ on right side of header
\rhead{\nouppercase{\textsc{\leftmark}}}
% Set what is to be set in \leftmark
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}

\begin{document}
    \chapter{Introduction}
    \clearpage
    Some report goes here
\end{document}

编辑:正如@Johannes_B 指出的那样:使用\chaptermark是一种更清晰的方法。

答案2

以下是另一个建议:

\documentclass{report}
% Customising headers - fancyhdr.pdf
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand\sectionmark[1]{}
\makeatletter
\renewcommand{\chaptermark}[1]
  {\markboth{\ifnum\value{chapter}>0\@chapapp\ \thechapter\fi\hfill#1}{}}
\makeatother
\fancyhf{}
\fancyhead[R]{\nouppercase{\leftmark}}
\fancyfoot[C]{\thepage}

\usepackage{blindtext}% only for dummy text

\begin{document}
\tableofcontents
\Blinddocument\Blinddocument\Blinddocument
\Blinddocument\Blinddocument\Blinddocument
\end{document}

enter image description here

enter image description here


或者使用 KOMA-Script 类:

\documentclass{scrreprt}
% Customising headers - fancyhdr.pdf
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{\ifnumbered{chapter}{\chapapp\ \thechapter}{}\hfill#1}{}}
\fancyhf{}
\fancyhead[R]{\nouppercase{\leftmark}}
\fancyfoot[C]{\thepage}

\usepackage{blindtext}% only for dummy text

\begin{document}
\tableofcontents
\addchap{Unnumbered Chapter}
\Blindtext[10]
\Blinddocument\Blinddocument\Blinddocument
\Blinddocument\Blinddocument\Blinddocument
\end{document}

但建议使用scrlayer-scrpage

\documentclass{scrreprt}
 %Customising headers
\usepackage[automark,headsepline]{scrlayer-scrpage}
\automark{chapter}
\renewcommand\chaptermarkformat{\chapapp\ \thechapter\hfill}
\clearpairofpagestyles
\ohead{\headmark}
\cfoot*{\pagemark}
\setkomafont{pageheadfoot}{\normalfont}

\usepackage{blindtext}% only for dummy text
\begin{document}
\tableofcontents
\addchap{Unnumbered Chapter}
\Blindtext[10]
\Blinddocument\Blinddocument\Blinddocument
\Blinddocument\Blinddocument\Blinddocument
\end{document}

相关内容