我对这些选项有点困惑fancyhdr
。我目前的标题样式是这样的:MWE:
\documentclass[12pt,oneside]{book}%use oneside to ensure no blanks\
\usepackage[text={5.45in,8.5in}, left=1.5in, right=1.25in, top=1.25in, bottom=1.25in, headheight=15.91pt, centering]{geometry}
\usepackage[table,hyperref]{xcolor}
\usepackage{setspace, fancyhdr, amsmath, amssymb,amsthm, graphicx, color, lscape, longtable, booktabs, caption, wrapfig, hyperref, pdfpages, capt-of, microtype, lmodern, titlesec, tikz, lipsum}
% Ensures we put the section name/number on the left side and page number on right
\fancyhf{} % clear all header and footer fields
\pagestyle{fancy} %define page style
\pagenumbering{roman} %page numbering style: before main text
\fancyhead[L]{\nouppercase{\rightmark}}
\fancyhead[R]{\thepage}
\renewcommand{\headrulewidth}{0.5pt}
\renewcommand{\footrulewidth}{0pt}
\addtolength{\headheight}{0.5pt} % make space for the rule
\fancypagestyle{plain}{%
\fancyhead{} % get rid of headers on plain pages
\fancyhead[R]{\thepage}
\renewcommand{\headrulewidth}{0pt} % and the line
}
\doublespacing
\newpage
\pagenumbering{arabic}
\renewcommand{\headrulewidth}{0.5pt}
\begin{document}
\chapter{Some chapter}
\section{Section I}
\lipsum[1-1]
\subsection{Subsection}
\lipsum[1-2]
\section{Section II}
\lipsum[1-2]
\subsection{Subsection One}
\lipsum[1-2]
\subsection{Subsection Two}
\lipsum[1-2]
\end{document}
\section{Section III}
\lipsum[1-2]
\subsection{Subsection for this section}
\lipsum[1-2]
\subsection{Another subsection}
\lipsum[1-2]
当前标题如下所示:
1.1 第一部分
对于我的大部分章节来说,这没问题。但是对于某些章节,比如上面 MWE 中的第 II 节,我希望标题如下所示:
1.2 第二节:第二小节
然后我想让标题在下一节(第三节)中切换回当前样式:
1.3 第三部分
我读了关于 fancyhdr 的几篇文章,维基百科中有关 fancyhdr 的部分但我在让它工作时遇到了一些麻烦,尤其是中间有冒号的时候。任何帮助都太棒了!
附言:如果这是一个重复的问题,您能否指出相关问题?
答案1
\documentclass[12pt,oneside]{book}
\usepackage{fancyhdr,lipsum,setspace}
\pagestyle{fancy} %define page style
\fancyhf{} % clear all header and footer fields
\renewcommand{\subsectionmark}[1]{%
\ifsubsectioninheader
\def\subsectiontitle{: #1}%
\else
\def\subsectiontitle{}%
\fi}
\newif\ifsubsectioninheader
\def\subsectiontitle{}
\fancyhead[L]{\nouppercase{\rightmark\ifsubsectioninheader\subsectiontitle\fi}}
\fancyhead[R]{\thepage}
\renewcommand{\headrulewidth}{0.5pt}
\renewcommand{\footrulewidth}{0pt}
\addtolength{\headheight}{0.5pt} % make space for the rule
\fancypagestyle{plain}{%
\fancyhead{} % get rid of headers on plain pages
\fancyhead[R]{\thepage}
\renewcommand{\headrulewidth}{0pt} % and the line
}
\doublespacing
\renewcommand{\headrulewidth}{0.5pt}
\begin{document}
% \frontmatter %%% use this for roman page numbering
\mainmatter %%% use this for switching to arabic page numbering
\chapter{Some chapter}
\section{Section I}
\lipsum[1]
\subsection{Subsection}
\lipsum[1-2]
\section{Section II}
\subsectioninheadertrue
\lipsum[1-2]
\subsection{Subsection One}
\lipsum[1-2]
\subsection{Subsection Two}
\lipsum[1-2]
\subsectioninheaderfalse
\section{Section III}
\lipsum[1-2]
\subsection{Subsection for this section}
\lipsum[1-2]
\subsection{Another subsection}
\lipsum[1-2]
\end{document}
我们重新定义\subsectionmark
为保留标题,但仅当条件\ifsubsectioninheader
为真时;在这种情况下,标题将显示信息。的通常定义\subsectionmark
是不执行任何操作。
另外,请注意该类book
具有更好的方法,可以将页码从罗马数字转换为阿拉伯数字。\frontmatter
您还可以获得其他优势:其中的章节没有编号,但会自动进入目录。