Mostrar cabeçalho apenas se o número da seção > 0

Mostrar cabeçalho apenas se o número da seção > 0

O nome da seção atual + número do capítulo.seção é mostrado no cabeçalho. Este é um comportamento normal (o que eu quero).

Exemplo:

insira a descrição da imagem aqui

Como posso remover o texto do cabeçalho se não houver seção na página. O exemplo a seguir ilustra meu problema. O cabeçalho é "1.0", mas não quero mostrar nada.

Exemplo:

insira a descrição da imagem aqui

Aqui meu 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}

Responder1

Usar fancyhdrwith scrbooknão é recomendado. No entanto, aqui está uma solução: emita o \thesectioncomando dentro do arquivo \markright. Observe que \markrightleva apenas um argumento (enquanto \markbothprecisa de dois).

\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}

informação relacionada