
Vor einiger Zeit habe ich versucht, so etwas wie für Plain TeX zu definieren figure*
. Dies führte zu falschen Spaltenhöhen.
(Sehen:Breite Abbildung in zweispaltiger Ausgabe in Plain TeX)
Es gab einen Hinweis, sich die VSize zu merken, also habe ich das versucht. Bitte sehen Sie sich das folgende MWE an:
% 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
Wie man im Bild sehen kann, sind beide Spalten falsch. Beide gehen in den unteren Rand und die zweite hat oben Leerzeichen. Was habe ich falsch gemacht? Wie kann ich das \vsize
richtig ändern?