到目前为止这是我的代码:
\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}