>% At the start of a new galley we do not want to have any vertical >% space being inserted not even a zero |\parskip| since that would >% mess up use of |\vtop| etc. The below is a sort of crude fix for >% the problem ie this is the old minipage switch. Here is some stuff I found in my notes: % Usage: \if\AtBoxTop ...\else ...\fi % Assumption: called in inner vertical mode. \def\AtBoxTop{\ifdim\prevdepth=-\@m\p@ T\else F\fi T} % Usage: \if\AtPageTop ...\else ...\fi % Assumption: called in vertical mode \def\AtPageTop{\ifinner F\else\ifdim\pagetotal=\z@ T\else F\fi\fi T} Most of the time I think the parskip will not be added before the internal galley stuff has a chance to get control---for example, with just \vbox{ text } you don't get parskip at the top. But if there is any non-text object preceding the first text you will get the parskip (\mark, \special, \write, \hrule). So I guess when the AtBoxTop test is true it might be advisable to combine the prev-whatsits with the next-whatsits.