# Changing the top margin of one single page with typearea package

I have a bit of an exotic problem. I have a large document and want to extend the vertical margins of one specific page (publication list) in order to fit everything into one page. Extending the bottom is very easy with \enlargethispage. However, I just cannot extend the top margin. I use the typearea package (but no KOMA class) and \areaset for setting up the layout - I really don't want to change that (e.g. to geometry?) by any means possible...

Now the exotic part ist this: Many times I found as a suggestion (i.e. alternative to geometry) to use the changepage package and something like \changepage{}{}{}{}{}{-3cm}{}{}{} (6th parameter being the top margin). The particular page I want to be enlarged (publication list) is generated via biblatex. For some weird reason, the \changepage macro is not working here, i.e. it is apparently ignored. \changepage works however on a test document with \areaset as layout and a \chapter* as heading (similar to what biblatex does)... Here's the essential part of the code including all packages:

\documentclass[pdftex,openright,12pt,a4paper,twoside,notitlepage]{book}
\usepackage[ngerman,english]{babel}
\usepackage{tocloft}
\usepackage[Lenny]{fncychap}
\usepackage{fancyhdr}
\usepackage{typearea}
\usepackage[strict]{changepage}
\usepackage{setspace}
\usepackage{booktabs}
\usepackage{multirow}
\usepackage[utf8]{inputenc}
\usepackage{siunitx}
\usepackage[font={small,sf},labelfont=bf,margin=0pt]{caption}
\usepackage{csquotes}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage[mathscr]{euscript}
\usepackage{textgreek}
\usepackage{upgreek}
\usepackage{nicefrac}
\usepackage{graphicx}
\usepackage{nomencl}
\usepackage[backend=biber,style=...,biblabel=brackets,defernumbers=true]{biblatex}

\areaset[9mm]{15cm}{22cm} % <-- main layout

\chapter*{#1}%
\markboth{#1}{#1}%
\vspace*{-1.5cm}}% <-- additionally reduce spacing between "chapter" title and text

\defbibenvironment{publist} %  <-- environment setup for biblatex
{\list{}{\setlength{\leftmargin}{0pt}}}
{\endlist}
{\item}

\begin{document}

... % lots of frontmatter stuff
\cleardoublepage

\begin{refsection}
\nocite{...} % <-- prepare citations for publication list
\phantomsection  % correct jump mark for hyperref
\changepage{}{}{}{}{}{-3cm}{}{}{} % <-- this is ignored!
\enlargethispage{4\baselineskip} % <-- this works fine
\vspace*{\stretch{1}}
\includegraphics{...} % <-- some logo at the page bottom
\end{refsection}
\clearpage


So, how can I shift only this particular page with the "special" bibliography up without screwing up everything?

• Would be easier to help if you gave us compilable code we can use to reproduce. – cfr Mar 24 '15 at 0:51

Maybe you can use something like that

\usepackage{typearea}
\areaset[9mm]{15cm}{22cm} % <-- main layout
...
\cleardoublepage
\storeareas\StandardArea% <- store the main layout
\areaset[9mm]{15cm}{24cm}% <- change the layout
...
\clearpage
\StandardArea% <- restore main layout


Code:

\documentclass[pdftex,openright,12pt,a4paper,twoside,notitlepage]{book}
\usepackage[utf8]{inputenc}
\usepackage[ngerman,english]{babel}
\usepackage[Lenny]{fncychap}
\usepackage{fancyhdr}\pagestyle{fancy}
\usepackage{graphicx}

\usepackage[backend=biber]{biblatex}

\chapter*{#1}%
\markboth{#1}{#1}%
\vspace*{-1.5cm}}% <-- additionally reduce spacing between "chapter" title and text

\defbibenvironment{publist} %  <-- environment setup for biblatex
{\list{}{\setlength{\leftmargin}{0pt}}}
{\endlist}
{\item}

\usepackage{typearea}
\areaset[9mm]{15cm}{22cm} % <-- main layout

\usepackage{showframe}% to show the pagelayout
\usepackage{mwe}% dummy text and example image

\begin{document}
\tableofcontents
\blinddocument

\cleardoublepage
\storeareas\StandardArea% <- store the main layout
\areaset[9mm]{15cm}{24cm}% <- change the layout
\begin{refsection}
\nocite{westfahl:space}% only example
\phantomsection  % correct jump mark for hyperref