Definición de una figura* equivalente para Plain TeX en salida de varias columnas

Definición de una figura* equivalente para Plain TeX en salida de varias columnas

Hace algún tiempo intenté definir algo así como figure*Plain TeX. Esto resultó en alturas de columna incorrectas.

(Ver:Figura amplia en salida de dos columnas en Plain TeX)

Había una pista para memorizar el tamaño, así que probé esto. Mire el siguiente MWE:

% For Plain LuaTeX
\catcode`@=11
\raggedbottom

\newdimen\fullhsize
\newdimen\columnsep
\columnsep 1cm
\fullhsize\hsize
\advance\hsize-\columnsep
\divide\hsize\tw@

\newdimen\fullvsize
\fullvsize\vsize

\def\fullline{\hbox to\fullhsize}
\def\makeheadline{\vbox to\z@{\vskip-22.5\p@
    \fullline{\vbox to8.5\p@{}\the\headline}\vss}\nointerlineskip}
\def\makefootline{\baselineskip24\p@\lineskiplimit\z@
    \fullline{\the\footline}}

% Twocolumn output
\newif\if@firstcolumn \@firstcolumntrue
\newbox\firstcolumn

\output={\ifvoid\widetopins\else%%%%%%%% try to change vsize
    \global\advance\vsize-\ht\widetopins
    \global\advance\vsize-\dp\widetopins\fi
    \if@firstcolumn \global\setbox\firstcolumn=\columnbox
    \global\@firstcolumnfalse
    \else
    \doubleformat \global\@firstcolumntrue\fi
    \ifnum\outputpenalty>-20000 \else\dosupereject\fi}

\def\doubleformat{\shipout\vbox{
    \makeheadline
    \ifvoid\widetopins\else\fullline{\box\widetopins}\fi
    \fullline{\box\firstcolumn\hfil\columnbox} \makefootline}
    \advancepageno
    \global\vsize\fullvsize}% reset \vsize

\def\columnbox{\leftline{\pagebody}}

% like figure* in LaTeX
\newinsert\widetopins
\skip\widetopins\z@skip
\count\widetopins=0 %%%%%%%% to change vsize manually
\dimen\widetopins=.5\vsize

\def\widetopinsert{\p@gefalse\par\begingroup
    \setbox\z@\vbox\bgroup\hsize\fullhsize}
\def\endwideinsert{\egroup
    \insert\widetopins{\penalty100 % floating insertion
    \splittopskip\z@skip
    \splitmaxdepth\maxdimen \floatingpenalty\z@
    \ifp@ge \dimen@\dp\z@
    \vbox to\vsize{\unvbox\z@\kern-\dimen@}% depth is zero
    \else \box\z@\nobreak\bigskip\fi}\endgroup}

\def\mypicture{\vrule height 100pt depth 40pt width300pt}

\def\text{Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.}

\text\text\text

\widetopinsert
\centerline{\mypicture}
\endwideinsert

\text\text\text\text\text

\bye

ingrese la descripción de la imagen aquí

Como puede ver en la imagen, ambas columnas están incorrectas. Ambos van al margen inferior y el segundo tiene espacios en blanco en la parte superior. ¿Qué he hecho mal? ¿Cómo se puede \vsizecambiar correctamente?

información relacionada