获取 fancyhdr 中的章节标记(无章节编号)

获取 fancyhdr 中的章节标记(无章节编号)

我已经尝试了好几个小时来完成这项工作,但我无法让它工作。

我希望文档左侧的标题显示为章节名称,不显示数字。右侧标题(造成问题的标题)显示为章节编号 + 章节名称。

例如:

引言 4. 行星的形成

这是我目前所拥有的

\renewcommand{\chaptername}{}
\renewcommand{\chaptermark}[1]{\uppercase{\markboth{#1}{}}}
\renewcommand{\sectionmark}[1]{\markright{#1}{}}

我使用以下命令来打印标题

\lhead[\thepage]{\leftmark} 
\rhead[\nouppercase{\rightmark}]{\thepage}

但输出是 INTRODUCTION 1.4. 行星形成

你能帮我一下吗?

答案1

使用

\renewcommand{\chaptermark}[1]{\markboth{#1}{}}

您将在左标记中获得章节标题,并使用

\renewcommand{\sectionmark}[1]{\markright{\arabic{section}.\ #1}}

您将获得右侧标记的章节编号(不带章节编号前缀)和标题。

完整示例:

\documentclass{book}
\usepackage[a6paper]{geometry}
\usepackage{fancyhdr}
\usepackage{lipsum}
\pagestyle{fancy}

\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{\arabic{section}.\ #1}}

\lhead[\thepage]{\leftmark} 
\rhead[\nouppercase{\rightmark}]{\thepage}

\begin{document}

\chapter{Test chapter}
\section{Test section}
\lipsum[1-4]

\end{document}

结果:

在此处输入图片描述

您的 \lhead、\rhead 命令可以替换为“更现代的”

\fancyhead[EL,OR]{\thepage}
\fancyhead[ER]{\rightmark}
\fancyhead[OL]{\leftmark} 

相关内容