Packages like fullwidth
or KOMA-Script's addmargin
environment (provided by every KOMA-Script class or KOMA-Script package scrextend
) can be used, to change the margins of an area, e.g.:
\documentclass[a4paper,landscape,twocolumn]{scrbook}
\usepackage{geometry}
\geometry{top=15mm,bottom=25mm, headsep=5mm, left=65mm, right=65mm,
marginpar=55mm,marginparsep=5mm,columnsep=25pt}% conflicting options removed
% and columnsep added
\usepackage{lipsum}
\begin{document}
\lipsum[1]
\begin{addmargin}[-50mm]{-10pt}
\lipsum[5]
\end{addmargin}
\lipsum[2]
\begin{addmargin}[-10pt]{-50mm}
\lipsum[4]
\end{addmargin}
\lipsum[2]
\end{document}
They cannot be used to add single-column areas into documents using the LaTeX twocolumn
mode, unless you manually keep the area in the other column clean.
For document switching between two and one columns (or even another number of columns) inside a page there are other packages, mainly multicol
:
\documentclass[a4paper,landscape]{book}
\usepackage{geometry}
\geometry{top=15mm,bottom=25mm, headsep=5mm, left=65mm, right=65mm,
marginpar=55mm,marginparsep=5mm,columnsep=25pt}% conflicting options removed
% and columnsep added
\usepackage{multicol}
\usepackage{lipsum}
\begin{document}
\begin{multicols}{2}
\lipsum[1]
\end{multicols}
\lipsum[5]
\begin{multicols}{2}
\lipsum[2]
\end{multicols}
\lipsum[4]
\begin{multicols}{2}
\lipsum[2]
\end{multicols}
\end{document}
You can also combine both (here for the single column areas):
\documentclass[a4paper,landscape]{scrbook}
\usepackage{geometry}
\geometry{top=15mm,bottom=25mm, headsep=5mm, left=65mm, right=65mm,
marginpar=55mm,marginparsep=5mm,columnsep=25pt}% conflicting options removed
% and columnsep added
\usepackage{multicol}
\usepackage[width=175mm]{fullwidth}
\usepackage{lipsum}
\begin{document}
\begin{multicols}{2}
\lipsum[1]
\end{multicols}
\begin{addmargin}[0pt]{-10mm}
\lipsum[5]
\end{addmargin}
\begin{multicols}{2}
\lipsum[2]
\end{multicols}
\begin{fullwidth}
\lipsum[4]
\end{fullwidth}
\begin{multicols}{2}
\lipsum[2]
\end{multicols}
\end{document}
Just as a note: If you really want, you can indeed manually keep the area of the other column clean:
\documentclass[a4paper,landscape,twocolumn]{scrbook}
\usepackage{geometry}
\geometry{top=15mm,bottom=25mm, headsep=5mm, left=65mm, right=65mm,
marginpar=55mm,marginparsep=5mm,columnsep=25pt}% conflicting options removed
% and columnsep added
\usepackage{lipsum}
\begin{document}
Lorem ipsum dolor sit amet, consectetuer
adipiscing elit. Ut purus elit, vestibulum ut,
placerat ac, adipiscing vitae, felis. Curabitur
dictum gravida mauris. Nam arcu libero, no-%
\parfillskip 0pt\par\vskip 5\baselineskip\parfillskip 0pt plus 1fil % manual
\noindent % split of paragraph to keep area clean
lectus vestibulum urna fringilla ultrices. Pha-
sellus eu tellus sit amet tortor gravida placerat.
Integer sapien est, iaculis in, pretium quis, vi-
verra ac, nunc. Praesent eget sem vel leo ul-
trices bibendum. Aenean faucibus. Morbi do-
lor nulla, malesuada eu, pulvinar at, mollis ac,
nulla. Curabitur auctor semper nulla. Donec
varius orci eget risus. Duis nibh mi, congue
eu, accumsan eleifend, sagittis quis, diam. Duis
eget orci sit amet orci dignissim rutrum.
\begin{addmargin}[0pt]{-\dimeval{\columnsep+\columnwidth}}
\lipsum[5]
\end{addmargin}
\lipsum[2]\vskip.1ex% manual vertical alignment correction
\begin{addmargin}[-\dimeval{\columnsep+\columnwidth}]{0pt}
\lipsum[4]
\end{addmargin}
\vskip.5ex% manual vertical alignment correction
Nam dui ligula, fringilla a, euismod sodales, sol-
licitudin vel, wisi. Morbi auctor lorem non ju-
sto. Nam lacus libero, pretium at, lobortis vi-
tae, ultricies et, tellus. Donec aliquet, tortor sed
accumsan bibendum, erat ligula aliquet magna,
vitae ornare odio metus a mi. Morbi ac orci
et nisl hendrerit mollis. Suspendisse ut massa.
Cras nec ante. Pellentesque a nulla. Cum so-
ciis natoque penatibus et magnis dis parturient
montes, nascetur ridiculus mus. Aliquam tinci-%
\parfillskip 0pt\par\vskip 7.5\baselineskip\parfillskip 0pt plus 1fil % manual
\noindent % split of paragraph to keep area clean
dunt urna. Nulla ullamcorper vestibulum tur-
pis. Pellentesque cursus luctus mauris.
\end{document}
But it is a lot of work to do and the reader won't know, where to continue reading. And a small change to the document can be enough to start the whole process all over again by inserting vertical spacing in the right places. So I would not recommend to try this.
I don't want to hide the fact that there is a package called midfloat
in the sttools
collection whose strip
environment can theoretically be used to automatically insert single-column material into two-column typesetting. However, I was unable to persuade the package to cooperate with TeX Live from 2018 (I was unable to test earlier versions) in this specific case (LaTeX Error: Strip needs more place!
). It is quite possible that the package, which has remained unchanged since 2012, no longer works with newer LaTeX versions.
fullwidth
package was last updated more than a decade ago. I would certainly not use it in combination with thegeometry
package.fullwidth
approach isn't appropriate.fullwidth
for column-spanning material inside LaTeX twocolumn mode. Note, that package is not made for this. If you want to switch between onecolumn and twocolumn mode inside a page, you need to use the onecolumn mode of LaTeX and packagemulticols
. If you also like to use the margin in the onecolumn mode, you can additionally usefullwidth
or thescrbook
environmentaddmargin
, in the onecolumn parts. You can also use the environments to use the margin of a twocolumn part, but not to use the other column unless you manually keep that area clean.