我正在使用书籍文档类,并且正在使用 fancyhdr 包。在我的标题中,我\leftmark
在偶数页和\rightmark
奇数页上使用。
我想\leftmark
显示“第 1 章:第一章”而不是“第 1 章。第一章”。
我想\rightmark
显示“第 1 部分:第一部分”而不是“第 1 部分。第一部分”。
我该怎么做?这是我的代码。提前致谢。
\documentclass[a4paper,12pt,twoside]{book}
\usepackage{lipsum}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{fancyhdr}
% Code for headers
\renewcommand{\headrulewidth}{2pt}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[LE,RO]{\textbf{\thepage}}
\fancyhead[CE]{\nouppercase{\leftmark}}
\fancyhead[CO]{Section \nouppercase{\rightmark}}
% Code to add page number on the right side of the footer on the chapter start page.
\fancypagestyle{plain}{
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\fancyfoot[R]{\textbf{\thepage}}
}
\begin{document}
\chapter{Chapter One}
\section{Section One}
\lipsum
\lipsum
\end{document}
答案1
您可以通过修改相关代码来重新定义标记book.cls
。例如:
\documentclass[a4paper,12pt,twoside]{book}% If you say a4paper, be sure to load geometry
% \usepackage{geometry}
\usepackage{lipsum}
\usepackage{fancyhdr}
% Code for headers
\renewcommand{\headrulewidth}{2pt}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[LE,RO]{\textbf{\thepage}}
\fancyhead[CE]{\nouppercase{\leftmark}}
\fancyhead[CO]{Section \nouppercase{\rightmark}}
% Code to add page number on the right side of the footer on the chapter start page.
\fancypagestyle{plain}{
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\fancyfoot[R]{\textbf{\thepage}}
}
\makeatletter
\def\chaptermark#1{% from book.cls
\markboth {\MakeUppercase{%
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\@chapapp\ \thechapter: \ %
\fi
\fi
#1}}{}}
\def\sectionmark#1{%
\markright {\MakeUppercase{%
\ifnum \c@secnumdepth >\z@
\thesection: \ %
\fi
#1}}}
\makeatother
\begin{document}
\chapter{Chapter One}
\section{Section One}
\lipsum
\lipsum
\end{document}
但我不确定这是否是最好的方法。