![将页面的第一部分设置为标题中的部分](https://linux22.com/image/390186/%E5%B0%86%E9%A1%B5%E9%9D%A2%E7%9A%84%E7%AC%AC%E4%B8%80%E9%83%A8%E5%88%86%E8%AE%BE%E7%BD%AE%E4%B8%BA%E6%A0%87%E9%A2%98%E4%B8%AD%E7%9A%84%E9%83%A8%E5%88%86.png)
我正在使用 fancyhdr 包作为标题,并且我希望标题中的部分名称显示当前页面中出现的第一个部分。例如,如果我在一个页面中有三个部分,如下所示:
开始
中间
结尾
我希望标题显示“开始”而不是“结束”。目前,我的标题显示最后一个。
这是我的标题代码:
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead[R]{\today}
\fancyhead[L]{\leftmark}
\setlength{\headheight}{20pt}
\setlength{\headsep}{0.2in}
答案1
您可以定义并使用\leftfirstmark
:
\makeatletter
\newcommand*{\leftfirstmark}{%
\expandafter\@leftmark\firstmark\@empty\@empty
}
\makeatother
例子:
\documentclass{article}
\usepackage{lipsum}% only for dummy text
\makeatletter
\newcommand*{\leftfirstmark}{%
\expandafter\@leftmark\firstmark\@empty\@empty
}
\makeatother
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead[R]{\today}
\fancyhead[L]{\leftfirstmark}
\setlength{\headheight}{20pt}
\setlength{\headsep}{0.2in}
\begin{document}
\section{Beginning}
\lipsum[1]
\section{Middle}
\lipsum[2]
\section{End}
\lipsum[3]
\end{document}