仅当节数 > 0 时才显示标题

仅当节数 > 0 时才显示标题

当前章节名称 + 章节编号显示在标题中。这是正常行为(我想要的)。

例子:

在此处输入图片描述

如果页面上没有部分,我该如何删除标题文本?以下示例说明了我的问题。标题是“1.0”,但我不想显示任何内容。

例子:

在此处输入图片描述

这是我的 MWE:

\documentclass{scrbook}
\usepackage[english]{babel}
\usepackage{blindtext}

\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{\markright{#1}{}}

\fancyhead{}
\fancyhead[LE]{\makebox[2cm][r]{}{}}
\fancyhead[RO]{\rightmark\hspace*{0.2cm}\thesection}


\begin{document}

\chapter{An example chapter}

\blindtext[25]

\section{An example section}

\blindtext
\end{document}

答案1

不建议使用fancyhdrwith 。但是,这里有一个解决方案:在 内发出命令。请注意,仅接受一个参数(而需要两个)。scrbook\thesection\markright\markright\markboth

\documentclass{scrbook}
\usepackage[english]{babel}
\usepackage{lipsum}

\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{%
  \markright{#1\ \thesection}%
}

\fancyhf{}
\fancyhead[RO]{\rightmark}
\fancyfoot[C]{\thepage}

\begin{document}

\chapter{An example chapter}

\lipsum[1-20]

\section{An example section}

\lipsum[1-20]
\end{document}

相关内容