使用 amsart,将运行头作为当前章节的标题?

使用 amsart,将运行头作为当前章节的标题?

使用amsart文档类,如何用当前章节的标题替换所有运行头?有没有办法在类中本地执行此操作,或者我是否需要fancyhdr,或者其他什么?填写当前章节名称的命令是什么,它在中可用吗amsart

非常感谢。

答案1

该类amsart是相当封闭的。它禁用诸如\sectionmark和类似的命令,并重新定义分段命令以不更新作业所需的标记。

这是可能的,但请记住,可能会出错,因为跟上课堂上的所有调整会很复杂。

\documentclass{amsart}

\usepackage{regexpatch}

\usepackage{kantlipsum} % just for the example

%%% let's patch the amsart macros
\makeatletter
\renewcommand{\sectionmark}[2]{%
  \ifnum#1<\@m
    \markboth{\thesection. #2}{\thesection. #2}%
  \else
    \markboth{#2}{#2}%
  \fi}
\xpatchcmd*{\@sect}
  {\@tocwrite}
  {\csname #1mark\endcsname{#2}{#7}\@tocwrite}
  {}{}
\makeatother


\begin{document}
\author{Me}
\title{Whatever}
\maketitle

\section{First}
\kant

\section{Second}
\kant

%%% let's provide a mock bibliography
\begin{thebibliography}{99}

\count255=0
\loop\ifnum\count255<60
\advance\count255 1
\expandafter\bibitem\expandafter{\number\count255 } x
\repeat

\end{thebibliography}


\end{document}

在此处输入图片描述

相关内容