使用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}