I am looking for an automated mechanism to change the effective \textwidth
at the first pagebreak of a letter in scrpage2
. I've tried \afterpage
and \nextpage
(ideally they would be set within \firsthead
), both without success. I do not want to use the geometry
package because firstly, IMO scrlttr2
should work with a change of KOMAoptions
and friends and secondly, it does not seem to work anyways if used within scrlttr2
and the KOMA layout. Ideas and suggestions are very welcome.
Here's a MNWE. Page 2 and following should have a wider text block than the first page — but doesn't.
\documentclass{scrlttr2}%
\usepackage[english]{babel}
\usepackage{lipsum,afterpage}%
\setlength{\textwidth}{125mm}%
\nexthead{%
\global\areaset{170mm}{\textheight}%
\global\KOMAoptions{DIV=areaset}%
\global\recalctypearea%
}
\afterpage{%
\global\areaset{170mm}{\textheight}%
\global\KOMAoptions{DIV=areaset}%
\global\recalctypearea%
}
\begin{document}
\begin{letter}{Receipient}
\opening{Dear receipient,}
\lipsum[1-6]
\closing{Yours}
\end{letter}
\end{document}
And BTW, I genuinely think that this is not covered by Change \textwidth and \textheight in mid-document and related questions and instead somehow relates to the internals of the KOMA classes.
\eject
or\clearpage
as first commands into the\nexthead
and\afterpage
arguments, it still doesn't work. And despite an increased argument to\lipsum
, the modified\textwidth
does not even show at later pages.\global
with a single primitive assignment if you go\global\areaset
you just make a single assignment at the start of the expansion of areaset global. As far as I can see this will be the assignment of\reserved@d
in the middle of\@ifnextchar
looking for an optional argument. No length assignments will be global.adjustwidth
environment from thechangepage
package?changepage
package. This does almost what I want:\afterpage{% \pagebreak \global\setlength{\textwidth}{17cm}% \global\setlength{\columnwidth}{\textwidth}% \global\setlength{\hsize}{\columnwidth}% \global\setlength{\linewidth}{\hsize}}%
Except that the\pagebreak
(or\eject
or\clearpage
) does not do what I want it to do. As you say, the pagebreak has already taken place.\firstfoot
does not seem to work either.