[Tex/LaTex] How to change the page number from even to odd while keeping the page as verso

double-sidedgeometrymarginspage-numberingright-to-left

I'm writing a two-sided document with a binding margin. For certain reasons, I need to change the page number at some point, so what used to be an even-numbered page is now odd-numbered. This makes the geometry package arrange this page as a recto (right-of-margin) rather than a verso (left-of-margin) page – while I need the recto-verso pairs to continue, i.e. I need the page to be a verso.

MWE follows (the showframe illustrates that the margins are the same rather changing from recto to verso).

\documentclass{article}
\usepackage[showframe,twoside]{geometry}
\begin{document}
This is the first page. It should be a right-of-binding page (recto).
\clearpage
\setcounter{page}{3}
This is the second page; it should be a left-of-binding page (verso) - but it isn't.
\clearpage
This is the third page; it should be a right-of-binding page (recto) - but it isn't.
\end{document} 

Background: I'm writing my Ph.D. thesis, which is mostly English but has a Hebrew part, which must be numbered differently. Also, Hebrew is an right-to-left language so the pages go in on the other end of the binding, i.e. the Hebrew cover page is a left-of-binding page which goes in 'last' when leafing through the bound booklet left-to-right.
I output the Hebrew sheets from first to last, after the last English sheets, then take the whole bunch of Hebrew sheets, and flip them all together and re-place them to get the effect I described. The Hebrew part numbering begins at 1 on a left-of-binding page (not the Hebrew cover page btw.)

Notes:

  1. Please don't suggest I not do this, or change the page number to something even instead of odd, etc. This is a legitimate need. Other people might want to output a two-sided document with binding margins in which page numbers go 1,1,2,2,3,3,4,4.
  2. A workaround is to 'manually' flip the margins, as suggested by Schweinebacke. But this is not satisfactory as there is also the issue of margin notes and possibly other LaTeX code which might depend on whether the page is a verso or a recto rather than the margin sizes.
  3. A solution should not assume any of the details from my background. Specifically, do not assume that the content on the re-numbered page is in Hebrew, or Right-to-Left etc.

Best Answer

Odd numbered pages should always be right pages!

So you should always use \cleardoublepage before changing page numbering, because it makes no sense to change page numbering on the left side of a double sided print:

\documentclass[twoside]{article}% It's better to tell already the class to use twoside!
\usepackage[showframe]{geometry}
\begin{document}
This is the first page; it should be a right page (recto).
\cleardoublepage
\pagenumbering{arabic}
This is the third page; it should be a right page, because changing page numbering should always be done on right pages!
\end{document}

If you simply wanted to suppress page number at the first page of an article, try:

\documentclass[twoside]{article}% It's better to tell already the class to use twoside!
\usepackage[showframe]{geometry}
\begin{document}
\title{Title}
\author{Me}
\maketitle\thispagestyle{empty}
\begin{abstract}A short abstract of the document.\end{abstract}
Some more text, e.g. a table of contents.
\clearpage
This is the second page; it should be a left page and numbered 2!
\end{document}

Note: You may use \cleardoublepage before \pagenumbering even at oneside documents, because in this case it would have the same result \clearpage would have.

But, if you really, really must have odd pages left and even pages right, you may simply switch the margins (and the margin used for \marginpar):

\documentclass[twoside]{article}% It's better to tell already the class to use twoside!
\usepackage[showframe]{geometry}
\makeatletter
\newcommand*{\flipmargins}{%
  \clearpage
  \setlength{\@tempdima}{\oddsidemargin}%
  \setlength{\oddsidemargin}{\evensidemargin}%
  \setlength{\evensidemargin}{\@tempdima}%
  \if@reversemargin
    \normalmarginpar
  \else
    \reversemarginpar
  \fi
}
\makeatother
\begin{document}
This is the first page; it should be a right page (recto).

\flipmargins
\pagenumbering{roman}
This is the second page; it should be a left page (verso).
\end{document}

Using a page style like headings you may also need to change the page style, e.g., to print the numbers near the outer margin. You may do this, using either scrpage2 or fancyhrd. Here an example using scrpage2:

\documentclass[twoside]{article}% It's better to tell already the class to use twoside!
\usepackage[showframe]{geometry}
\usepackage[automark]{scrpage2}
\pagestyle{scrheadings}

\makeatletter
\newcommand*{\flipmargins}{%
  \clearpage
  \setlength{\@tempdima}{\oddsidemargin}%
  \setlength{\oddsidemargin}{\evensidemargin}%
  \setlength{\evensidemargin}{\@tempdima}%
  \if@reversemargin
    \normalmarginpar
  \else
    \reversemarginpar
  \fi
  \ifdim \evensidemargin>\oddsidemargin
    \ihead{\headmark}%
    \ohead[\pagemark]{\pagemark}%
  \else
    \ihead[\pagemark]{\pagemark}%
    \ohead{\headmark}%
  \fi
}
\makeatother

\begin{document}
\section{Normal pages}
This is the first page; it should be a right page (recto).

\flipmargins
\pagenumbering{roman}
\section{Inverse margin pages}
This is the second page; it should be a left page (verso).
\end{document}

Alternative:

One completely different alternative would be to fake the page number, given by \thepage:

\documentclass[twoside]{article}% It's better to tell already the class to use twoside!
\usepackage[showframe]{geometry}
\makeatletter
\newcommand{\@arabicplusone}[1]{\@arabic{\numexpr #1+1\relax}}
\newcommand{\@romanplusone}[1]{\@roman{\numexpr #1+1\relax}}
\newcommand{\@Romanplusone}[1]{\@Roman{\numexpr #1+1\relax}}
\newcommand{\@alphplusone}[1]{\@alph{\numexpr #1+1\relax}}
\newcommand{\@Alphplusone}[1]{\@Alph{\numexpr #1+1\relax}}
\makeatother

\newcommand*{\pagenumberingplusone}[1]{%
  \pagenumbering{#1plusone}\setcounter{page}{0}%
}

\begin{document}
This is the first page; it should be a right page (recto). See
page~\pageref{test}.

\clearpage\pagenumberingplusone{roman}
This\label{test} is the second page; it should be a left page (verso).
\end{document}

Disadvantage of this suggestion would be, that if a package uses page counter directly for something else but testing odd or even the result may be unexpected. The advantage of this suggestion would be, that pages with odd value of counter page shows not only an even page number but will be handled to be a even=left page by LaTeX and every class or package that uses \c@page or \value{page} for the test (and vica versa).