在 fancyhf 标题中包含章节标题

在 fancyhf 标题中包含章节标题

我想在 fancyhdr 包中的标题标签中包含页面显示部分的部分名称,例如

\fancyhf[HR]{SECTION NAME}
\fancyhf[HL]{SUBSECTION NAME}

我该如何做这件事?

答案1

titleps提供开箱即用的功能,并且界面/使用方式与fancyhdr. 您可能有兴趣阅读titleps对于fancyhdr用户

如果您希望直接使用 来执行此操作fancyhdr,则必须修补分段单元构造以存储标题,或使用经过一些修改的标题标记。

你会使用

\usepackage{titleps}% http://ctan.org/pkg/titleps
\newpagestyle{main}{
\setheadrule{.4pt}% Header rule
\sethead{\subsectiontitle}% left
        {}%                 center
        {\sectiontitle}%    right
}
\pagestyle{main}

这是一个非常简单的例子,其中还添加了分区单位编号:

在此处输入图片描述

\documentclass{article}
\usepackage{titleps}% http://ctan.org/pkg/titleps
\newpagestyle{main}{
\setheadrule{.4pt}% Header rule
\sethead{\thesubsection\ \subsectiontitle}% left
        {}%                                 center
        {\thesection\ \sectiontitle}%       right
}
\pagestyle{main}
\begin{document}
\section{A section}
\subsection{A subsection}
\subsubsection{A subsubsection}
\end{document}

答案2

我使用这个fancyhdr包来完成这项任务。我通常会准备几个新命令来完全控制页眉和页脚中显示的内容。我附上了一个小演示。

\documentclass[a4paper]{article}
\parindent=0pt
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[L]{\myleft}
\fancyhead[C]{\thepage}
\fancyhead[R]{\myright}
\def\tomyleft#1{\def\myleft{#1}}
\def\tomyright#1{\def\myright{#1}}
\def\mysection#1#2{\section{#1}\tomyleft{#2}}
\def\mysubsection#1#2{\subsection{#1}\tomyright{#2}}
\begin{document}
\mysection{Welcome}{My welcome\ldots}
\mysubsection{Hello World!}{\ldots My Hello World!}
My first page.\newpage 
My second page.
\end{document}

第 1 页

第2页

相关内容