1

In a previous question, I asked how to keep two columns on one page, vertically balanced. The solution was perfect for that purpose.

\newenvironment{overview}%
  {\onecolumn\vtop to 0pt\bgroup\chapter*{Overview}\begin{multicols}{2}}%
  {\end{multicols}\vss\egroup\hfill\twocolumn}

Is there a way to achieve a similar effect but over two pages (using pdfLaTeX in a KOMA class)? That is, a single column of a certain height on each page. That is, the same as the overview environment defined above, but with the first column of the result appearing in the first (even) page and the second column appearing in the second (odd) page.

My attempt tried to create a two-column multicol environment as if it occurred when the textwidth was twice normal, then imitated the method (How to include a picture over two pages, left part on left side, right on right (for books)?), essentially creating two outputs on both pages but only showing the correct column.

\documentclass[b5paper,twoside]{scrbook}
\usepackage{adjustbox}
\usepackage{multicol}

\usepackage{lipsum}

\newlength{\innerMargin}
\setlength{\innerMargin}{3cm}
\usepackage[inner=\innerMargin]{geometry}

\makeatletter
\newcommand{\twopager}[1]{%
    \cleardoubleevenstandardpage
    \adjustbox{trim=0 0 {\innerMargin+\columnwidth} 0, clip}{%
    \begin{minipage}{2\textwidth}
    \addchap{Title}
    \setlength{\columnsep}{2\innerMargin}
    \begin{multicols}{2}
    #1
    \end{multicols}
    \end{minipage}
    }%
\newpage
    \adjustbox{trim={\innerMargin+\columnwidth} 0 0 0, clip}{%
    \begin{minipage}{2\textwidth}
    \addchap{Title}
    \setlength{\columnsep}{2\innerMargin}
    \begin{multicols}{2}
    #1
    \end{multicols}
    \end{minipage}
}%
\cleardoublepage
}
\makeatother

\begin{document}
\lipsum

\twopager{\lipsum[1-5]}

\lipsum
\end{document}

However, this doesn't quite get the vertical spacing correct (to speak nothing of the elegance of the solution). What's the right way?

A part-solution is as follows:

\documentclass[11pt,parskip=half-,twoside]{scrbook}
\newlength{\currentparskip}

\usepackage{afterpage}
\usepackage{float}
\usepackage{adjustbox}
\usepackage{calc}

\newlength{\innerMargin}
\newlength{\outerMargin}
\setlength{\innerMargin}{6cm}
\setlength{\outerMargin}{3cm}

\usepackage[a4paper, inner=\innerMargin,outer=\outerMargin]{geometry}

\newlength{\twopageboxwidth}
\setlength{\twopageboxwidth}{2\textwidth+2\innerMargin}  %BCOR
%\newlength{\twopageboxtextwidth}
%\setlength{\twopageboxtextwidth}{\paperwidth-\innerMargin-\outerMargin}

\usepackage{newfloat}
\DeclareFloatingEnvironment{boxe}

\usepackage{multicol}
\usepackage{dpfloat}

\usepackage{lipsum}

\begin{document}
\lipsum[1-4]

\setlength{\currentparskip}{\parskip}
\afterpage{%
\begin{boxe}[p]
\begin{leftfullpage}
\begin{addmargin}[0em]{\textwidth-\twopageboxwidth}
\addchap{Overview}
\setlength{\columnsep}{2\innerMargin}
\begin{multicols}{2}
\setlength{\parskip}{\currentparskip}
\lipsum[1-5]
\end{multicols}
\end{addmargin}
\end{leftfullpage}
\end{boxe}
\begin{boxe}[p]
\begin{fullpage}
\begin{addmargin}[-\twopageboxwidth+\textwidth]{0em}
\addchap{Overview}
\setlength{\columnsep}{2\innerMargin}
\begin{multicols}{2}
\setlength{\parskip}{\currentparskip}
\lipsum[1-5]
\end{multicols}
\end{addmargin}
\end{fullpage}
\end{boxe}
}


\end{document}

which produces:

enter image description here

This solution has what I want in basic appearance. There are issues however:

  • The environment has to be manually placed in the previous page (otherwise LaTeX enters an infinite loop due to \afterpage + leftfullpage).
  • The vertical placement of the two pages is too low on the page.
Hugh
  • 2,374
  • 17
  • 30
  • This seems to be a question difficult to understand. I don't get it -- what is your goal? Often it helps to load up a sketch of the layout you attempt to realise... – Keks Dose Jun 01 '16 at 17:21

0 Answers0