% Fichier MESURE.TEX
% Impression d'un cadre et de rŠgles permettant de r‚gler la taille de page
% et les marges sur l'imprimante
% Michel Quercia 27/10/94

% D‚finir ici la taille de page souhait‚e, puis essayer si l'imprimante peut la
% r‚aliser
\hsize = 18cm
\vsize = 25cm
\hoffset=-1.04cm
\voffset=-0.19cm

\headline={\hrulefill haut de page \hrulefill}
\footline={\hrulefill bas  de page \hrulefill}

% Constitution d'une rŠgle horizontale

\def\horiz{%
%
\setbox0=\hbox to 1mm{\hrulefill\vrule height 5pt}    % petit trait + cale 1mm
\setbox1=\hbox to 1mm{\hrulefill\vrule height 10pt}   % grand trait + cale 1mm
\setbox2=\hbox to 1cm{\cleaders\copy0\hfil\copy1}     % grand trait + 9 petits
\dimen0=\hsize                                        % dimension voulue
\let\next\suitehoriz                                  % macro de bouclage
\hbox\bgroup                                          % initialise la rŠgle
\next}                                                % continue

\def\suitehoriz{%                                     % alonge la rŠgle
\ifdim\dimen0>\wd2                                    % reste au moins 1cm
\copy2\global\advance\dimen0-\wd2                     % place un groupe de 10 traits
\else\ifdim\dimen0>\wd0                               % reste au moins 1mm
\copy0\global\advance\dimen0-\wd0                     % place un petit trait
\else\let\next\egroup                                 % sinon, c'est fini
\fi\fi\next}                                          % continue

% Constitution d'une rŠgle verticale

\def\vertic{%
%
\setbox0=\vbox to 1mm{\vrulefill\hrule width 5pt}     % petit trait + cale 1mm
\setbox1=\vbox to 1mm{\vrulefill\hrule width 10pt}    % grand trait + cale 1mm
\setbox2=\vbox to 1cm{\cleaders\copy0\vfil\copy1}     % grand trait + 9 petits
\dimen0=\vsize                                        % dimension voulue
\let\next\suitevertic                                 % macro de bouclage
\vbox\bgroup                                          % initialise la rŠgle
\next}                                                % continue

\def\suitevertic{%                                    % alonge la rŠgle
\ifdim\dimen0>\ht2                                    % reste au moins 1cm
\copy2\global\advance\dimen0-\ht2                     % place un groupe de 10 traits
\else\ifdim\dimen0>\ht0                               % reste au moins 1mm
\copy0\global\advance\dimen0-\ht0                     % place un petit trait
\else\let\next\egroup                                 % sinon, c'est fini
\fi\fi\next}                                          % continue


\def\vrulefill{\leaders\vrule\vfill}              % trait vertical extensible

% Constitution de la page

\noindent
\hbox to 0pt{\vbox to \vsize{\hrule \vfil \horiz \vfil \hrule}\hss}%
\hbox to \hsize{\offinterlineskip \vrule \hfil \vertic \hfil \vrule}

\eject

\bye
