4

I'm using the report class and would like an alternative to the option "twoside". I want chapters and top level TOC-elements to start on right hand pages, but I don't want any of the other, layout molesting, stuff that comes with twoside.

\documentclass[a4paper,12pt, leqno]{report}
\begin{document}
\end{document}
Man
  • 199

3 Answers3

3

twoside really doesn't affect very much. It gives the oportunity to have different margins and headers on odd and even pages, and is detected by \cleardoublepage but that is about it.

Your comment about "layout molesting, stuff " isn't very specific but I infer that you want the margins, and perhaps the headings to be the same, so you can put this in the preamble, which just restores the oneside settings from report class.

\documentclass[a4paper,twoside, openright]{report}

\makeatletter
    \setlength\@tempdima        {\paperwidth}
    \addtolength\@tempdima      {-\textwidth}
    \setlength\oddsidemargin    {.5\@tempdima}
    \addtolength\oddsidemargin  {-1in}
    \setlength\marginparwidth   {.5\@tempdima}
    \addtolength\marginparwidth {-\marginparsep}
    \addtolength\marginparwidth {-0.4in}
    \addtolength\marginparwidth {-.4in}
    \setlength\evensidemargin\oddsidemargin

  \def\ps@headings{%
    \let\@oddfoot\@empty\let\@evenfoot\@oddfoot
    \def\@oddhead{{\slshape\rightmark}\hfil\thepage}\let\@evenhead\@oddhead
    \let\@mkboth\markboth
    \def\chaptermark##1{%
      \markright {\MakeUppercase{%
        \ifnum \c@secnumdepth >\m@ne
            \@chapapp\ \thechapter. \ %
        \fi
        ##1}}}}

\makeatother
Man
  • 199
David Carlisle
  • 757,742
3

If by "molesting stuff" you mean different margins on odd and even pages, this will do what you need:

\documentclass[a4paper,twoside,openright]{report}

\usepackage{geometry}
\geometry{hratio=1:1,textwidth=345pt}

\usepackage{kantlipsum} % for mock text

\begin{document}
\chapter{A}
\kant
\chapter{B}
\kant[1]
\end{document}

The second chapter will start on page 5, leaving page 4 empty. If you also need headers, I suggest using fancyhdr.

egreg
  • 1,121,712
2

Based on the workings of \cleardoublepage you can define the following command:

\makeatletter
\def\nextOnRight{\clearpage \ifodd\c@page\else
    \hbox{}\newpage\if@twocolumn\hbox{}\newpage\fi\fi}
\makeatother

Then use \nextOnRight before the elements you want to open on the right page. This little hack is needed because \cleardoublepage only does its job if twoside option is used (if not, it simply issues a \clearpage)

JLDiaz
  • 55,732