\section 和 \subsection 在页眉中交替出现

\section 和 \subsection 在页眉中交替出现

现在,我正在尝试完成我的毕业论文的布局 - 不幸的是我不知道如何实现我想要的标题。我正在使用文档amsart类并尝试使用包实现以下目标fancyhdr

  • 我想要在偶数页上显示页眉:在左侧,页码在右侧
  • 奇数页:页码在左边,页码在右边

以下是相关的 LaTeX 代码:

\documentclass[twoside,12pt]{amsart}
\usepackage{amssymb,amsthm,array,arydshln}
\usepackage[toc,page]{appendix}
\usepackage{multicol}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage{tikz}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{fancyhdr}
\usepackage{geometry}
\geometry{a4paper}

\begin{document}
  \pagestyle{fancyplain}
  \fancyhf{}
  \lhead[\thepage]{\leftmark}
  \rhead[\leftmark]{\thepage}
  \title{test}
  \maketitle
\end{document}

我实现了两个不同的输出,取决于我输入的内容

\lhead[\thepage]{\leftmark}
\rhead[\leftmark]{\thepage}

\leftmark以及\rightmark将显示标题而不是(子)部分的标题;到目前为止,使用任何其他方法都会导致不显示任何内容

我读了不少文章,但还是完全迷失了,因为它们都不是针对我的用例编写的,即amsart文档类

我很感激任何帮助,如果需要的话我会提供更多信息

答案1

我删除了手头任务中所有不必要的包;只需使用fancyhdr文档中的设置即可设置页面几何。

还要记住,hyperref应该最后加载,与您选择的包一起加载(很少有包应该在之后加载hyperref)。

必须修补\@sect提供的命令amsart,因为该命令没有发出所需的标记。

\documentclass[twoside,12pt]{amsart}
\usepackage{geometry}
\geometry{a4paper,headheight=12pt}

\usepackage{fancyhdr}
\pagestyle{fancy} % choose the "fancy" pagestyle
\fancyhf{}        % clear all headers and footers
% Now set the headers
\fancyhead[LE,RO]{\footnotesize\thepage}
\fancyhead[LO,RE]{\footnotesize\leftmark}

%%% This code should go after hyperref, if loaded
\usepackage{xpatch}
\makeatletter
\xapptocmd{\@sect}{\csname #1mark\endcsname{#7}}{}{}
\makeatother   

\usepackage{kantlipsum} % just for adding mock text

\begin{document}

\title{test}
\maketitle

\section{Test section}
\subsection{Test subsection}
\kant[1-12]

\end{document}

相关内容