Package fancyhdr warning: \fancyfoot’s `E’ option without twoside option is useless

Too long, not going to read: I got the LaTeX warning

Package Fancyhdr Warning: \fancyfoot's `E' option without twoside option is useless

in a LaTeX project and I solved it.

I have two similar LaTeX projects, both using more or less the same code as each other; both use the book document class and the fancyhdr package. Both projects built perfectly well and produced the output I expected – until I put page numbers in the footer:

\fancypagestyle{normalpages}{%
  \fancyhf{}% remove everything
  % Headers
  \fancyhead[L]{%
    <left header>%
  }
  \fancyhead[C]{%
    <central header>%
  }
  \fancyhead[R]{%
    <right header>%
  }
  % Footers
  \fancyfoot[C]{%
    \centering
    <central footer>%
  }
  \fancyfoot[LE,RO]{
    \thepage
  }

One of the projects, A, built as expected and put the page numbers in the footer on the left of odd-numbered (verso) pages and the right of even-numbered (recto) pages. Project B, however, put the page numbers on the right of both verso and recto pages and produced the following warning:

Package Fancyhdr Warning: \fancyfoot's `E' option without twoside option is useless on input line x.

Well, isn’t that terrific? I looked on the internet for help, but the only answers I could find implied that my copy of the fancyhdr package provided by TeX Live was out of date or that it doesn’t matter if all works well. The former could not be true if it worked for one project. It did not work well, so I ignored the latter solution. There was one other possibility: ‘unless you activate the twoside class option, E (for Even) won’t have any effect’.

Ah. I looked at the document class’s options: project A specified twoside whereas project B did not. I amended project B and rebuilt the document to find no difference in the output or the warnings. Hmm.

I searched the log file for twoside, and found a line in project B’s log file:

* \@twosidefalse

This code was in a block of code to do with the geometry package. In project A, the same line had:

* \@twosidetrue

The whole block in the log file for project A, which is the one that worked, was:

*geometry* driver: auto-detecting
*geometry* detected driver: pdftex
*geometry* verbose mode - [ preamble ] result:
* driver: pdftex
* paper: a4paper
* layout: <same size as paper>
* layoutoffset:(h,v)=(0.0pt,0.0pt)
* modes: twoside 
* h-part:(L,W,R)=(71.13188pt, 455.24411pt, 71.13188pt)
* v-part:(T,H,B)=(86.55685pt, 687.35811pt, 71.13188pt)
* \paperwidth=597.50787pt
* \paperheight=845.04684pt
* \textwidth=455.24411pt
* \textheight=687.35811pt
* \oddsidemargin=-1.1381pt
* \evensidemargin=-1.1381pt
* \topmargin=-70.71313pt
* \headheight=85.0pt
* \headsep=0.0pt
* \topskip=12.0pt
* \footskip=35.0pt
* \marginparwidth=0.0pt
* \marginparsep=0.0pt
* \columnsep=10.0pt
* \skip\footins=10.8pt plus 4.0pt minus 2.0pt
* \hoffset=0.0pt
* \voffset=0.0pt
* \mag=1000
* \@twocolumnfalse
* \@twosidetrue
* \@mparswitchtrue
* \@reversemarginfalse
* (1in=72.27pt=25.4mm, 1cm=28.453pt)

Notice the line near the top that reads * modes: twoside in amongst the settings of the geometry package. I looked at the options of that package in both projects: project A specified twoside=true, whereas project B specified twoside=false. Changing the latter to twoside=true — and, indeed, removing the whole option from both — resulted in both projects producing page numbers on the correct sides of verso and recto pages. Hurray!

\geometry{%
  paper=a4paper,
  % twoside=true, % don't put twoside=false here
  left=2.5cm,
  right=2.5cm,
  top=86.55685pt,
  bottom=2.5cm,
  headsep=0cm,
  headheight=85pt,%84.29048pt,
  footskip=35pt,%14.49998pt,
  heightrounded=false,
  includehead=false,
  includefoot=false,
  includeheadfoot=false,
  includemp=false,
  nomarginpar,
}

In summary

The problem arose from having the geometry package set to single-sided pages (i.e. it set all pages to recto, with no verso pages) only, and the fancyhdr package being given a specification for verso pages, which, as far as the fancyhdr package was concerned, did not exist.

The solution is to ensure that all page specifications are consistent: if twoside is specified in one place, it must be specified everywhere. I have found, for the book document class, that it is simplest to omit all mentions of twoside, which produces a document that is indeed double-sided.

4 thoughts on “Package fancyhdr warning: \fancyfoot’s `E’ option without twoside option is useless

  1. I honestly never leave a reply but you really solved a problem I was having for a long time!!!! Thank you really much Caity!!!!!!!

Leave a Reply to Caity Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.