我正在准备一些课堂笔记,我想手动在特定页面的页眉处添加“课程编号”和“课程日期”。我还想在所有页面上添加“页码”。我正在使用文章文档类。
例如,在第 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}