我已经尝试了好几个小时来完成这项工作,但我无法让它工作。
我希望文档左侧的标题显示为章节名称,不显示数字。右侧标题(造成问题的标题)显示为章节编号 + 章节名称。
例如:
引言 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}