![如何使书籍类中的页眉显示部分和章节,而不是章节和节](https://linux22.com/image/313553/%E5%A6%82%E4%BD%95%E4%BD%BF%E4%B9%A6%E7%B1%8D%E7%B1%BB%E4%B8%AD%E7%9A%84%E9%A1%B5%E7%9C%89%E6%98%BE%E7%A4%BA%E9%83%A8%E5%88%86%E5%92%8C%E7%AB%A0%E8%8A%82%EF%BC%8C%E8%80%8C%E4%B8%8D%E6%98%AF%E7%AB%A0%E8%8A%82%E5%92%8C%E8%8A%82.png)
我正在准备一本书,这本书将分为部分、章节和节。目前,我的页眉给出了章节标题(在正面页面上)和节标题(在反面页面上)。我想从“章节/节”切换到“部分/章节”。如果您有任何建议,我将不胜感激。
答案1
以下是使用标准book
(或report
)类的一种可能性,fancyhdr
; 这etoolbox
包用于修补\@part
以获取部分标题:
\documentclass{book}
\usepackage[a6paper]{geometry}%just for the example
\usepackage{fancyhdr}
\usepackage{etoolbox}
\usepackage{lipsum}%just for the example
\makeatletter
\patchcmd{\@part}
{\markboth{}{}}
{\gdef\parttitle{#1}}
{}
{}
\makeatother
\pagestyle{fancy}
\fancyhf{}
\fancyhead[EL]{\partname~\thepart.\ \parttitle}
\fancyhead[OR]{\nouppercase\leftmark}
\fancyhead[ER,OL]{\thepage}
\begin{document}
\part{Test part one}
\chapter{Test chapter one}
\section{Test section one one}
\lipsum[1-4]
\part{Test part two}
\chapter{Test chapter two}
\section{Test section two one}
\lipsum[1-4]
\end{document}
答案2
使用scrlayer-scrpage
KOMA-Script 包和一些黑客技术...
\documentclass{book}
\usepackage{blindtext}
\usepackage{scrlayer-scrpage}
\automark[chapter]{part}
\usepackage{etoolbox}
\makeatletter
\apptocmd{\@part}{\partmark{#1}}{}{}% thanks to esdd and Markus
\makeatother
\begin{document}
\part{dance}
\chapter{walzing wombat}
\blindtext[10]
\chapter{samba squirrel}
\blindtext[10]
\part{property}
\chapter{busy bee}
\blindtext[10]
\chapter{lazy leguan}
\blindtext[10]
\end{document}
使用 KOMA 等效产品,无需进行黑客攻击;一切都可以立即使用。
如果标题不应大写,请使用markcase
选项1
来加载scrlayer-scrpage
\usepackage[markcase=noupper]{scrlayer-scrpage}
1 - KOMA-Script 手册第 5 章(2016-06-14),第 222 页