在特定页面的页眉中添加文本

在特定页面的页眉中添加文本

我正在准备一些课堂笔记,我想手动在特定页面的页眉处添加“课程编号”和“课程日期”。我还想在所有页面上添加“页码”。我正在使用文章文档类。

例如,在第 1 页标题中我想要

第 1 届会议,2017 年 2 月 19 日

在第 3 页标题处我想要

第 2 场,2017 年 2 月 21 日

我该怎么做?

\documentclass{article}

\usepackage{lipsum}
\usepackage{fancyhdr}

\pagestyle{fancy}
\fancyhf{}
\lhead{}
\chead{}
\rhead{\textbf{Session No. Date}}
\cfoot{\thepage}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}

\begin{document}

\section{First Section}
\lipsum[1-8]

\newpage

\section{Second Section}
\lipsum[1-4]

\end{document}

答案1

这是使用自己的页面样式来完成这项特殊任务的简单方法fancyhdr。这是基于您的第一个 MWE。

我刚刚通过 定义了一个新的页面样式,\fancypagestyle它只有一个变化(其余部分与整体设置无关):它将一个头部(\lhead)设置为临时值(保存在 中\tmpx)。为了方便起见(不必\renewcommand{\tmpx}{}每次都写),我引入了一个名为 的设置器宏\tmp,您必须调用它来设置新页面样式中使用的信息。

使用方法很简单:在您想要额外信息的页面上,只需使用 设置它们\tmp,然后使用 加载其他页面样式\thispagestyle

\documentclass{article}

\usepackage{lipsum}
\usepackage{fancyhdr}

\pagestyle{fancy}
\fancyhf{}
\rhead{Share\LaTeX}
\lhead{Guides and tutorials}
\rfoot{Page \thepage}

\newcommand{\tmpx}{}
\newcommand\tmp[1]{\renewcommand{\tmpx}{#1}}
\fancypagestyle{sec}{\lhead{\tmpx}}

\begin{document}

\section{First Section}\tmp{Session 1 -- Date}\thispagestyle{sec}
\lipsum[1-20]

\newpage

\section{Second Section}\tmp{Session 2 -- Date}\thispagestyle{sec}
\lipsum[1-4]

\end{document}

答案2

使用\markright(和禁用\sectionmark):

\documentclass{article}

\usepackage{fancyhdr}
\usepackage{lipsum}

\pagestyle{fancy}
\fancyhf{}
\fancyhead[R]{\textbf{Session \rightmark}}
\fancyfoot[C]{\thepage}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\renewcommand{\sectionmark}[1]{}

\newcommand{\session}[2]{% #1 = title, #2 = date
  \clearpage
  \section{#1}
  \markright{\thesection, #2}
}

\begin{document}

\session{First Section}{19 Feb.\ 2017}
\lipsum[1-8]

\session{Second Section}{21 Feb.\ 2017}
\lipsum[1-4]

\end{document}

相关内容