# latex fancyhdr: is possible to use leftmark and rightmark alternatively?

I'm using this code to customize the header layout:

\pagestyle{fancy}
\fancyfoot{}


I would like to have the section name in the top left of every page, in the form of “1.1 section”, and this is possible using \rightmark. But, like mentioned in the fancyhdr documentation, "on the ﬁrst page of a chapter (or a section in article style) the \rightmark will be empty". So, when \rightmark is empty I would like have printed the chapter name like “Chapter 1. Intro” instead of the section name, and this is possible using \leftmark. So my question is: can I use such an "else condition" in order to use \leftmark if \rightmark is empty, and to use \rightmark otherwise? Something like:

empty(\rightmark) ? \leftmark : \rightmark


-
 Welcome to TeX.sx! Your post was migrated here from Stack Overflow. Please register on this site, too, and make sure that both accounts are associated with each other (by using the same OpenID), otherwise you won't be able to comment on or accept answers or edit your question. – egreg Mar 11 at 12:24

## migrated from stackoverflow.comMar 11 at 11:14

You can test if the \rightmark is empty by fully expanding it; the command \rightorleftmark will do what you want (uncomment the \section line to see the difference).

\documentclass{book}

\usepackage{fancyhdr}
\pagestyle{fancy}

\fancyhf{}

\makeatletter
\newcommand{\rightorleftmark}{%
\begingroup\protected@edef\x{\rightmark}%
\ifx\x\@empty
\endgroup\leftmark
\else
\endgroup\rightmark
\fi}
\makeatother

\begin{document}
\mainmatter
\chapter{A}
%\section{B}
abc\newpage
def\newpage
\end{document}

-