1

I have a document that has odd-even rule (twoside class), so there is a wide space on right margin on odd page and wide space on left margin on even page. I would like to put chapter title (right align) on the right margin of even page like this

                                      chapter title*
odd page  [left margin][content][wide right margin]
even page [wide left margin][content][right margin]*

rather than chapter title (right align) on the right margin of odd page

                   chapter title*
odd page  [left margin][content]*[wide right margin]
even page [wide left margin][content][right margin]

which * is used to show the position of the chapter title to particular margin. Is there a way to modify the chapter title format using titlesec?

\documentclass[twoside]{book}

\usepackage[paperheight=9.72in,paperwidth=6.85in,left=0.5in,right=1.5in,top=0.5in,bottom=1.05in,headheight=17pt,includehead,includefoot,heightrounded,]{geometry}

\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{mathpazo}
\linespread{1.05}
\usepackage{titlesec, linegoal}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[symbolmax,defaultmathsizes]{mathastext}

\renewcommand{\thechapter}{\Roman{chapter}}

\titleformat{\chapter}[display]{\huge\bfseries\vspace{0.45in}}{\huge\bfseries\thechapter\vspace{-0.2in}\hspace{1ex}\rule[0.1pt]{\linegoal}{1pt}}{2ex}{\filleft}
\titlespacing*{\chapter}{0pt}{0.05in}{0.45in}

\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{\bfseries#1}{}}

\makeatletter
% modified from book.cls - don't use \def unless you **know** it is safe!
\def\@schapter#1{\if@twocolumn
  \@topnewpage[\@makeschapterhead{#1}]%
  \else
  \@makeschapterhead{#1}%
  \@afterheading
  \fi}
\makeatother

\addtolength{\headwidth}{0.95in}
\fancyhf{}%
\fancyhead[LO]{\leftmark}
\fancyhead[RE]{\bfseries\nouppercase{\rightmark}}
\cfoot{\bfseries\thepage}

\begin{document}

\chapter{Chapter title}

\end{document}
1
  • AFAICT there is no difference between your \@schapter and book \@schapter. In any case, it only affects \chapter*, not \chapter. OTOH, loading titlesec changes everything. Nov 7, 2019 at 14:09

1 Answer 1

0

You can redefine \cleardoublepage as described here:

\makeatletter
\renewcommand*\cleardoublepage{\clearpage\if@twoside
    \ifodd\c@page \hbox{}\newpage\if@twocolumn\hbox{}%
    \newpage\fi\fi\fi}
\makeatother

As explained in the link, the book class uses this command at the end of each chapter.

\documentclass[twoside]{book}

\usepackage[paperheight=9.72in,paperwidth=6.85in,left=0.5in,right=1.5in,top=0.5in,bottom=1.05in,headheight=17pt,includehead,includefoot,heightrounded,]{geometry}

\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{mathpazo}
\usepackage{blindtext}
\linespread{1.05}
\usepackage{titlesec, linegoal}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[symbolmax,defaultmathsizes]{mathastext}

\renewcommand{\thechapter}{\Roman{chapter}}

\titleformat{\chapter}[display]{\huge\bfseries\vspace{0.45in}}{\huge\bfseries\thechapter\vspace{-0.2in}\hspace{1ex}\rule[0.1pt]{\linegoal}{1pt}}{2ex}{\filleft}
\titlespacing*{\chapter}{0pt}{0.05in}{0.45in}

\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\chaptermark}[1]{\markboth{\bfseries#1}{}}

\makeatletter
% modified from book.cls - don't use \def unless you **know** it is safe!
\def\@schapter#1{\if@twocolumn
    \@topnewpage[\@makeschapterhead{#1}]%
    \else
    \@makeschapterhead{#1}%
    \@afterheading
    \fi}
\makeatother

\addtolength{\headwidth}{0.95in}
\fancyhf{}%
\fancyhead[LO]{\leftmark}
\fancyhead[RE]{\bfseries\nouppercase{\rightmark}}
\cfoot{\bfseries\thepage}

\makeatletter
\renewcommand*\cleardoublepage{\clearpage\if@twoside
    \ifodd\c@page \hbox{}\newpage\if@twocolumn\hbox{}%
    \newpage\fi\fi\fi}
\makeatother

\begin{document}

    \chapter{Chapter title}

    \blindtext[2]

\end{document}

Book with chapters starting on even-numbered pages

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .