在tufte-book
文档类中,我很难弄清楚如何使用包将章节名称插入到右侧奇数页的页眉中fancyhdr
。类似这样的内容:
第 2 章。章节标题。
从.def 文件中:
% The 'fancy' page style is the default style for all pages.
\fancyhf{} % clear header and footer fields
\ifthenelse{\boolean{@tufte@twoside}}
{\fancyhead[LE]{\thepage\quad\smallcaps{\newlinetospace{\plaintitle}}}
\fancyhead[RO]{\smallcaps{\newlinetospace{\chaptername{}~\thechapter}}\quad\thepage}}
{\fancyhead[RE,RO]{\smallcaps{\newlinetospace{\chaptername{}~\thechapter}}\quad\thepage}}
我理解这一点\leftmark
,并且\rightmark
通常也能起到这样的作用,但究竟什么是命令才能仅获取章节的标题呢?
答案1
每章有三条信息:
\thechapter
,即数字。(例如,“第 2 章”中的 2。)\chaptername
,这是当前语言中与“章节”一词对应的词。- 以及
\chaptermark
该章节的实际标题。
您似乎正在寻找\chaptermark
。另请参阅fancyhdr
文档,尤其图 3 显示了一种实现此目的的方法:
\renewcommand{\chaptermark}[1]{%
\markboth{#1}{}}
编辑:再次查看后,它似乎tufte-book
甚至没有章节编号。(这时 MWE 可以提供帮助。)这怎么样?
\documentclass{tufte-book}
\usepackage{fancyhdr}
\usepackage{lipsum}
\setcounter{secnumdepth}{0}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[RO]{\textsc{\nouppercase{\newlinetospace{{\leftmark}}\quad\thepage}}}
\begin{document}
\chapter{Sample Title}
\lipsum[1-9]
\chapter{Another Sample Title}
\lipsum[1-9]
\chapter{And One More}
\lipsum[1-9]
\end{document}
答案2
最后,我将 Sam 给出的答案整合到我在问题中建议的代码片段中。以下有效:
\renewcommand{\chaptermark}[1]{%
\markboth{#1}{}}
\fancyhf{} % clear header and footer fields
\ifthenelse{\boolean{@tufte@twoside}}
{\fancyhead[LE]{\thepage\quad\smallcaps{\newlinetospace{\plaintitle}}}%
\fancyhead[RO]{\smallcaps{\newlinetospace{\chaptername{}~\thechapter. \leftmark}}\quad\thepage}}
{\fancyhead[RE,RO]{\smallcaps{\newlinetospace{\chaptername{}~\thechapter. \leftmark}}\quad\thepage}}
这样,左页就显示书名,右页就显示章节标题。
由于某种原因, \smallcaps 与 chaptermark 的重新定义一起使用,它仅提供章节标题:
\renewcommand{\chaptermark}[1]{%
\markboth{#1}{}}
... 而不是下面的那个,它产生了单词chapter
,后跟章节号和全名:
\renewcommand{\chaptermark}[1]{%
\markboth{\MakeUppercase{%
\chaptername\ \thechapter.%
\ #1}}{}}