<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">\ifx\endBlock\undefined
\def\BL@CK{\begingroup%
\def\endBL@CK{\egroup\endgroup}%
\vbox\bgroup}%
\long\def\Block{\begingroup%
\def\endBlock{\unskip\egroup\endgroup}%
\pagebreak[2]\vspace*{\parskip}\vbox\bgroup\par\noindent\ignorespaces}
\long\def\IBlock{\begingroup%
\def\endIBlock{\unskip\egroup\endgroup}%
\pagebreak[2]\vspace*{\parskip}\vbox\bgroup\par\ignorespaces}
%\newdimen\@@dimenA
% reservation verticale
%\def\need#1{{\ifhmode\unskip\par\fi
%%  \@@dimenA=\pagegoal
%  \@@dimenA=\textheight
%  \advance\@@dimenA by -\pagetotal
%  \ifdim\pagetotal&gt;\z@
%    \ifdim\@@dimenA&gt;\z@
%      \ifdim\@@dimenA&lt;#1%
%        \vfill\eject\typeout{WARNING- EJECT BY NEED}
%      \fi
%    \fi
%  \fi}
%}
\def\need#1{\ifhmode\unskip\par\fi \penalty-100 \begingroup % preserve \dimen@, \dimen@i
   \ifdim\prevdepth&gt;\maxdepth \dimen@i\maxdepth \else \dimen@i\prevdepth\fi
   \kern-\dimen@i
   \dimen@\pagegoal \advance\dimen@-\pagetotal % space left
   \ifdim #1&gt;\dimen@
        \vfill\eject\typeout{WARNING- EJECT BY NEED}
   \fi
   \kern\dimen@i
   \endgroup}
\def\lneed#1{\need{#1\baselineskip}}
% \begin{BL@CK} ... \end{BL@CK} delimite un bloc qui restera, si possible, sur une seule page.
\long\def\TBlock{\begingroup%
\def\endTBlock{\unskip\egroup\endgroup}%
\pagebreak[2]\vspace*{\parskip}\vtop\bgroup\par\noindent\ignorespaces}
\else
\typeout{block.sty already loaded}
\fi
\endinput

\def\need#1{\par \penalty-100 \begingroup % preserve \dimen@, \dimen@i
   \ifdim\prevdepth&gt;\maxdepth \dimen@i\maxdepth \else \dimen@i\prevdepth\fi
   \kern-\dimen@i
   \dimen@\pagegoal \advance\dimen@-\pagetotal % space left
   \ifdim #1&gt;\dimen@ \vfil \eject \fi 
   \kern\dimen@i
   \endgroup}
</pre></body></html>