1

I would like to widen the outer margin of my book to make more room for side notes. In addition, the page footer should span the entire width of the text and the margin. Changes should be local to the table of contents and chapters, that is the page layouts of the title page and part pages should be left intact.

I have already managed to construct a minimal working example. However, the solution is not practical (nor neat), since, for example, one must insert \full before and \margin after every new part. Could this be automated?

My attempts with etoolbox's \patchcmd led nowhere i.e.

\makeatletter
\patchcmd{\scr@startpart}{\full}{}{}{}
\patchcmd{\scr@startchapter}{\margin}{}{}{}
\makeatother

didn't produce the desired output.

MWE:

\documentclass[openany]{scrbook}

\usepackage{showframe}
\usepackage{blindtext}
\usepackage{calc}
\usepackage{scrlayer-scrpage}

\pagestyle{scrheadings}
\renewcommand*{\partpagestyle}{empty}

\BeforeRestoreareas{\clearpage}

\begin{document}

\storeareas\full

\newlength{\addition}\setlength{\addition}{3cm} % for example
\areaset[-.5\addition]{\textwidth-\addition}{\textheight}
\KOMAoptions{footwidth=textwithmarginpar}
\storeareas\margin

\full

\title{Title}
\author{Author}
\maketitle

\margin

\tableofcontents

\full

\addpart{First part}

\margin

\blinddocument

\full

\addpart{Second part}

\margin

\blinddocument

\end{document}
0

You could patch \partheadstartvskip and \partheademptypage

\documentclass[open=any]{scrbook}

\usepackage{showframe}
\usepackage{blindtext}
\usepackage{calc}
\usepackage{scrlayer-scrpage}% sets pagestyle scrheadings automatically

\renewcommand*{\partpagestyle}{empty}

\BeforeRestoreareas{\clearpage}

\AtBeginDocument{
  \storeareas\full
  %
  \newlength{\addition}\setlength{\addition}{3cm} % for example
  \areaset[-.5\addition]{\textwidth-\addition}{\textheight}%
  \KOMAoptions{footwidth=textwithmarginpar}%
  \storeareas\margin
}

\usepackage{xpatch}
\xpretocmd\partheadstartvskip{\full}{}{\PatchFailed}
\xapptocmd\partheademptypage{\margin}{}{\PatchFailed}
\xpretocmd\maketitle{\full}{}{\PatchFailed}
\xapptocmd\maketitle{\margin}{}{\PatchFailed}

\begin{document}
\title{Title}
\author{Author}
\maketitle
\tableofcontents
\addpart{First part}
\blinddocument
\addpart{Second part}
\blinddocument
\end{document}
0

Simply re-defining the commands \addpart and \tableofcontents does the trick:

\documentclass[openany]{scrbook}

\usepackage{showframe}
\usepackage{blindtext}
\usepackage{calc}
\usepackage{scrlayer-scrpage}

\pagestyle{scrheadings}
\renewcommand*{\partpagestyle}{empty}

\BeforeRestoreareas{\clearpage}
\newlength{\addition}\setlength{\addition}{3cm} % for example

\let\oldtoc\tableofcontents
\renewcommand{\tableofcontents}{%
\areaset[-.5\addition]{\textwidth-\addition}{\textheight}
\KOMAoptions{footwidth=textwithmarginpar}

\oldtoc

\typearea{current}%
}

\let\oldaddpart\addpart
\renewcommand{\addpart}[1]{%
\typearea{current}

\oldaddpart{#1}

\areaset[-.5\addition]{\textwidth-\addition}{\textheight}
\KOMAoptions{footwidth=textwithmarginpar}%
}

\begin{document}

\title{Title}
\author{Author}
\maketitle

\tableofcontents

\addpart{First part}

\blinddocument

\addpart{Second part}

\blinddocument

\end{document}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.