我想在 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}