fancyhdr 中的 \leftmark 和 \rightmark 有什么区别?

fancyhdr 中的 \leftmark 和 \rightmark 有什么区别?

我很难\leftmark弄清楚\rightmarkfancyhdr. 文档第 8 页写道

包含\leftmark的左参数最后的 \markboth在页面上,\rightmark包含正确的论点第一的 \markboth或唯一的论点第一的 \markright在页面上。

但是,我找不到 的定义。有人可以告诉我和\markboth的区别或定义吗?\leftmark\rightmark

我的想法是,根据我对 的使用fancyhdr\leftmark如果章节存在,它会写入章节号和名称,如果不存在,它会写入章节号和名称。至于\rightmark,它总是会写入比 低一级的标题\leftmark

先感谢您!

答案1

基元\mark存储一个数据。latex 命令\markright\markboth参数拆分,\mark以便能够存储两个东西。因此

\markboth{left 1}{right 1}或多或少\mark{{left 1}{right 1}}

\markright{right 2}检索前一个标记的左侧部分,然后将其与新的右侧内容一起存储。它确实这样做了(或多或少)\mark{{left 1}{right 2}}

\leftmark可以使用和检索存储的内容(仅限于页眉和页脚,其他地方的结果不可靠!)\rightmark

正如名称所示,这些命令分别检索左侧和右侧部分:\leftmark获取最后的在页面上的\rightmark右侧标记第一的在页面上(或上一页的最后一个)进行标记。

使用正常设置,您可以获得这些标记

 ==== page break, new chapter:
 chapter:     {{chapter}    {   }}
 section1:    {{chapter}    {section1}}
 section2:    {{chapter}    {section2}}
 ==== page break: leftmark: chapter, rightmark: empty

 section3:    {{chapter}    {section3}}
 section4:    {{chapter}    {section4}}
 ==== page break: leftmark: chapter, rightmark: section3

相关内容