[Tex/LaTex] KOMA script – widening text width

double-sidedkoma-scriptlongtablemargins

I have a longtable that is about 14cm wide and the text width of 12 cm. Therefore I would like to widen the text width on two pages for 2 cm, toward the outer edge of the page. I have "discovered" that there are addmargin and addmargin* environments, but I just don't have a clue how to use them. I tried various combinations of parameters with no success. Any idea how to do that?

Thanks

MWE:

\documentclass[11pt]{scrbook}
\usepackage{longtable}

\usepackage[paperwidth=210mm,paperheight=255mm,top=20mm,bottom=25mm,inner=25mm,outer=65mm,marginparsep=7mm,marginparwidth=48mm,headsep=4mm,headheight=6mm]{geometry}

\begin{document}

more and more and more and more and more and more and more and more and more and more and more and more and more and more and more and more and more and more and more and more and more and more and more and more and more and more and more and more and more and more text

\begin{addmargin*}[0cm]{-2cm}
\begin{longtable}{llll}
\hline
\hline
text & text & more and more and more text & more and and more and more text \\
\hline
\endhead

\hline
\hline
\endfoot

text & text & more and more and more text & more and and more and more text \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
text & text & more and more and more text & more and and more and more text \\
\end{longtable}
\end{addmargin*}

more and more and more and more and more and more and more and more and more and more and more and more and more and more and more and more and more and more and more and more and more and more and more and more and more and more and more and more and more and more text

\end{document}enter code here

Best Answer

I've got another solution, see below. I decided not to delete my answer dated October 19, 2013, because we found out that addmargin* won't work properly with longtable and \LTleft from the longtable package doesn't help much, either.

Maybe we can solve the issue the other way round: If you can put your longtable below a heading, then you could use \newgeometry starting from this heading with 20 mm less outer margin. To hide that, put your text inside an addmargin* environment, but not the table. Then restore the former geometry.

Looks like this:

\documentclass[11pt]{scrbook}
\usepackage{longtable, blindtext}

\usepackage[paperwidth=210mm,paperheight=255mm,top=20mm,bottom=25mm,inner=25mm,outer=65mm,marginparsep=7mm,marginparwidth=48mm,headsep=4mm,headheight=6mm]{geometry}

\begin{document}

\blinddocument


\newgeometry{paperwidth=210mm,paperheight=255mm,top=20mm,bottom=25mm,inner=25mm,outer=45mm,
  marginparsep=7mm,marginparwidth=48mm,headsep=4mm,headheight=6mm}

\section{Tabulars}
\label{sec:tabulars}


\begin{addmargin*}[0cm]{2cm}
more and more and more and more and more and more and more and more
and more and more and more and more and more and more and more and
more and more and more and more and more and more and more and more
and more and more and more and more and more and more and more text
\end{addmargin*}

\begin{longtable}{llll}
\hline
\hline
text & text & more and more and more text & more and and more and more text \\
\hline
\endhead

\hline
\hline
\endfoot

text & text & more and more and more text & more and and more and more text \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
% & & a& \\
% & & a& \\
% & & a& \\
% & & a& \\
% & & a& \\
% & & a& \\
% & & a& \\
% & & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
& & a& \\
text & text & more and more and more text & more and and more and more text \\
\end{longtable}


\begin{addmargin*}[0pt]{2cm}
  more and more and more and more and more and more and more and more
  and more and more and more and more and more and more and more and
  more and more and more and more and more and more and more and more
  and more and more and more and more and more and more and more text
\end{addmargin*}

\restoregeometry

\blinddocument


\end{document}

This is not a perfect solution because of the pagebreak comming with \newgeometry and \restoregeometry, but maybe you can deal with it when you make the final layout.