自定义左/右标记 fancyhdr

自定义左/右标记 fancyhdr

我正在尝试以 AMS 数学研究生系列的风格排版一份文档。请点击以下链接查看示例:

http://bookstore.ams.org/gsm-154/18

尤其是,我试图模仿标题。这是我的 MWE:

\documentclass[12pt,a4paper]{book}
\usepackage[a4paper,hmarginratio=1:1,margin=1.2in]{geometry}
\setlength{\parindent}{0pt}
\usepackage{parskip}

\usepackage{fancyhdr} 
\pagestyle{fancy}
\renewcommand{\headrulewidth}{1pt}
\addtolength{\headheight}{\baselineskip}
\fancyhead[LO]{\rightmark}
\fancyhead[RE]{\leftmark}
\fancyhead[LE,RO]{\thepage}
\cfoot{}

\renewcommand{\chaptermark}[1]{\markboth{\textsl{\thechapter.\ #1}}{}}
%\renewcommand{\sectionmark}[1]{\markboth{\textsl{\thesection.\ #1}}{}}

\renewcommand{\thechapter}{\arabic{chapter}\thechapter}
\renewcommand*\thesection{\arabic{section}}

\usepackage[colorlinks=true,linkcolor=black,bookmarks=true]{hyperref}

\renewcommand{\thechapter}{\Roman{chapter}}

\begin{document}
 \chapter{some chapter}
  \section{some section}
\end{document}

这几乎按预期工作,只是部分标题全部大写。如果我尝试使用与章节标题相同的代码(即我的 MWE 中注释的行),那么部分标题就会从标题中消失。我想要做的只是让部分标题采用倾斜的正常字体(不是全部大写),就像章节一样。

答案1

您需要\markright代替\markboth部分标记:

\renewcommand{\sectionmark}[1]{\markright{\textsl{\thesectio‌​n.\ #1}}}

这将在\rightmark不干扰\leftmark章节的情况下进行设置。

答案2

如果您不介意的话,fancyhdr使用 非常简单titleps,它随附titlesec但可以单独使用。它不需要费力标记:

\documentclass[12pt,a4paper]{book}
\usepackage[a4paper,hmarginratio=1:1,margin=1.2in]{geometry}
%%\setlength{\parindent}{0pt} needless since parskip is loaded
\usepackage{parskip}
\renewcommand{\thechapter}{\Roman{chapter}}
\renewcommand*\thesection{\arabic{section}}
\usepackage{titleps}
\newpagestyle{mine}{%
\setheadrule{1pt}
\headrule%]
\sethead[\thepage][][\slshape\thechapter.\enspace\chaptertitle]{\slshape\thesection. \enspace\sectiontitle}{}{\thepage}
\setfoot{}{}{}}
\usepackage[colorlinks=true,linkcolor=black,bookmarks=true]{hyperref}

\usepackage{lipsum}
\pagestyle{mine}

\begin{document}

 \chapter{Some Chapter}

 \lipsum[1]
  \section{Some Section}
\lipsum[2-10]

\end{document} 

在此处输入图片描述

相关内容