评论

评论

到目前为止这是我的代码:

\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
\fancyhf{}
\fancyhead[LE,RO]{\nouppercase{\thepage}}
\fancyhead[LO]{\sc \nouppercase{\rightmark}}
\fancyhead[RE]{\rm \nouppercase{\leftmark}}

它生成的是左上角的页码和右上角的章节名称,并且每隔一页都有一个标尺。

我怎样才能改变这一点,使它还显示“第 1 章。文本”,其中章节是斜体,文本是罗马字体?

尝试了一些东西但它并没有改变我想要的样子。

感谢您的帮助!!

答案1

只需改变命令\chaptermark

示例输出

\documentclass{book}

\usepackage{fancyhdr}

\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{\textit{\chaptername\ 
\thechapter.} #1}{}}
\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}}
\fancyhf{}
\fancyhead[LE,RO]{\nouppercase{\thepage}}
\fancyhead[LO]{\sc \nouppercase{\rightmark}}
\fancyhead[RE]{\rm \nouppercase{\leftmark}}

\usepackage{blindtext}
\begin{document}

\blinddocument

\end{document}

如果您使用\frontmatter\mainmatter\backmatter结构命令,那么您可能希望使用以下定义:

\makeatletter
\renewcommand{\chaptermark}[1]{%
  \markboth{\if@mainmatter\textit{\chaptername\ \thechapter. }\fi #1}{}%
}
\makeatother

此外,对于任何\chapter*命令您都需要发出适当的\markboth

答案2

评论

只需添加“章节”\markboth并确保您的文档使用选项twoside来区分偶数页和奇数页。

执行

\documentclass[twoside]{report}
\usepackage[paperwidth=8cm,paperheight=10cm,top=2cm]{geometry}% ridiculous page size
\usepackage{lipsum}% dummy text
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{\textit{Chapter \thechapter}\ #1}{}}
\renewcommand{\sectionmark}[1]{\markright{Section \thesection\ #1}}
\fancyhf{}
\fancyhead[LE,RO]{\thepage}
\fancyhead[LO]{\scshape\rightmark}
\fancyhead[RE]{\leftmark}
\begin{document}
\chapter{Text}
\section{Next text}
\lipsum[1-2]% dummy text
\end{document}

输出

在此处输入图片描述 在此处输入图片描述

相关内容