将 \rhead 附加到 \section

将 \rhead 附加到 \section

过去几周我使用了一些命令,但只是为了格式化一些小东西或统一格式化文档中的某些段落。

现在我想知道是否有选项可以将 fancyhdr 的 \rhead 命令包含到 \section 命令本身中。这样我就不必在每个新章节的开头都输入这两个命令。

我当前的想法由于“TeX 容量超出”错误而无法实现。

\renewcommand \section[1] {
    \rhead{#1}
    \section{#1}
}

所以也许有一个更简单的解决方案我还没有找到。提前谢谢

答案1

fancy的默认页面样式fancyhdr已经自动将章节标题放在页眉中。MWE:

\documentclass{article}
\usepackage{fancyhdr}
\pagestyle{fancy}
\usepackage{lipsum}
\begin{document}
\section{First section}
\lipsum[1-10]
\section{Second section}
\lipsum[1-10]
\end{document}

在此处输入图片描述

如果您不想打印数字,您可以将命令重新定义\sectionmark为仅包含章节标题的左标记(打印在页面的右上角)和空的右标记(在页面的左侧),\rhead如果我理解正确的话,这或多或少就是您使用该命令尝试的操作。

这个重新定义是在序言中(之前\begin{document})完成的,并影响整个文档,因此您只需设置一次,而不需要为每个部分重复设置。MWE:

\documentclass{article}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\sectionmark}[1]{\markboth{#1}{}}
\usepackage{lipsum}
\begin{document}
\section{First section}
\lipsum[1-10]
\section{Second section}
\lipsum[1-10]
\end{document}

结果:

在此处输入图片描述

如果您不喜欢斜体字体,则可以\rhead再次在序言中全局设置,以包含\leftmark(在大多数没有章节的文档类中,默认为节标题)。您可以将其格式化为大写、小型大写、粗体或您喜欢的任何其他样式,或者只是纯罗马字体,如以下 MWE 所示:

\documentclass{article}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\sectionmark}[1]{\markboth{#1}{}}
\rhead{\leftmark}
\usepackage{lipsum}
\begin{document}
\section{First section}
\lipsum[1-10]
\section{Second section}
\lipsum[1-10]
\end{document}

结果:

在此处输入图片描述

相关内容