\catcode`\@=11
\newdimen\framelroffset \framelroffset=.5cm
\newdimen\frametboffset \frametboffset=.5cm
\newbox\fr@mebox
\newif\ifcont@
\def\beginframe{ \setbox\fr@mebox\vbox\bgroup
}\def\endframe#1{ \egroup \ifcase#1 \def\upperpart@##1{} \let\middlepart@\simpletraitmiddle
\def\bottompart@##1{} \dimen5=0pt \dimen6=0pt
\or
\def\upperpart@##1{} \let\middlepart@\simpletraitmiddle
\let\bottompart@\semiencadrementsimplebottom
\dimen5=0pt \dimen6=\frametboffset
\or
\let\upperpart@=\semiencadrementdoubleupper
\let\middlepart@=\semiencadrementdoublemiddle
\let\bottompart@=\semiencadrementdoublebottom
\dimen5=.4pt \dimen6=\frametboffset
\or
\let\upperpart@=\semiencadrementdoubleupper
\let\middlepart@=\semiencadrementdoublemiddle
\let\bottompart@=\semiencadrementdoubledoublebottom
\dimen5=.4pt \dimen6=\frametboffset
\or
\let\upperpart@\encadreupper
\let\middlepart@\encadremiddle
\let\bottompart@\encadrebottom
\dimen5=\frametboffset \dimen6=\frametboffset
\else \def\upperpart@##1{} \def\bottompart@##1{} \def\middlepart@##1{\unvbox##1} \dimen5=0pt \dimen6=0pt
\fi
\frameit@ }\def\getheight@#1#2{ \dimen#2=\ht#1
\advance\dimen#2 by\dp#1
}\def\cutit@{ \getheight@\fr@mebox0
\ifdim\dimen0<\dimen1 \dimen1=\dimen0 \fi
\dimen0=2mm \dimen4=\dimen1 {\vbadness10000 \loop
\global\setbox0=\copy\fr@mebox
\global\setbox1=\vsplit0 to \dimen4
\global\setbox1=\vbox{\unvbox1} \cont@false
\getheight@13
\ifdim\dimen3 >\dimen1 \cont@true\fi
\ifvoid0 \cont@true\fi
\ifdim\dimen4<\dimen0 \cont@false\fi
\ifcont@
\advance\dimen4 by -\dimen0
\repeat} \setbox\fr@mebox\box0 }\def\getpageheight@#1{ \ifdim\pagegoal=\maxdimen\line{}\fi \dimen#1=\pagegoal
\advance\dimen#1 by -\pagedepth
\advance\dimen#1 by -\topskip
}\def\frameit@{ \bgroup
\ifhmode\par\fi \dimen9=\wd\fr@mebox
\getpageheight@1
\advance\dimen1 by -\pagetotal
\ifdim\dimen1<\dimen5 \eject
\getpageheight@1
\fi
\advance\dimen1 by -\dimen5 \def\middle{ \getheight@10
\ifdim\dimen0>\dimen1 \setbox\fr@mebox=\vbox{\unvbox1\unvbox\fr@mebox} \eject
\getpageheight@1
\advance\dimen1 by -\dimen5
\else \nointerlineskip
\upperpart@9 \middlesecond \let\middle\middlesecond \fi
} \def\middlesecond{ \ifcont@ \setbox1\vbox to \dimen1{\unvbox1\hrule height 0pt depth 0pt} \nointerlineskip
\middlepart@1
\eject
\getpageheight@1
\else
\nointerlineskip
\middlepart@1
\fi
} \dimen9=\wd\fr@mebox
\dimen8=\dimen9
\loop
\getheight@\fr@mebox0
\advance\dimen0 by \dimen6
\ifdim\dimen0>\dimen1 \cutit@ \else \setbox1\box\fr@mebox
\fi
\ifvoid\fr@mebox\cont@false\else\cont@true\fi \middle \ifcont@
\repeat
\nointerlineskip
\bottompart@8 \egroup
}\def\encadreupper#1{ \advance\dimen#1 by 2\framelroffset \centerline{\vrule depth \dimen5\hbox to\dimen#1{\hrulefill}\vrule}}\def\encadremiddle#1{ \centerline{\vrule\kern\framelroffset\box#1\kern\framelroffset\vrule}}\def\encadrebottom#1{ \advance\dimen#1 by 2\framelroffset \centerline{\vrule height\dimen6\hbox to\dimen#1{\hrulefill}\vrule}}\def\simpletraitmiddle#1{ \rightline{\hbox to\framelroffset{\vrule height\ht#1 depth\dp#1\hfil}\box#1}}\def\semiencadrementsimplebottom#1{ \rightline{\hbox to\framelroffset{\vrule height\dimen6\hrulefill}\hbox to.5\dimen#1{\hrulefill}\kern.5\dimen#1}}\def\semiencadrementdoubleupper#1{ \rightline{\hbox to\framelroffset{\hbox to .2\framelroffset{\hrulefill}\hfil}\kern\dimen#1}}\def\semiencadrementdoublemiddle#1{\rightline{\hbox to\framelroffset{\hbox to .2\framelroffset{\vrule height\ht#1 depth \dp#1\hfil\vrule}\hfil}\box#1}}\def\semiencadrementdoublebottom#1{\rightline{\hbox to \framelroffset{\hbox to .2\framelroffset{\vrule height\dimen6\hrulefill\vrule}\hrulefill}\hbox to.5\dimen#1{\hrulefill}\kern.5\dimen#1}}\def\semiencadrementdoubledoublebottom#1{ \rightline{ \vbox{ \hbox to .2\framelroffset{\vrule height.8\dimen6\hfil\vrule} \nointerlineskip
\hbox to .2\framelroffset{\vrule height.2\dimen6\hrulefill} } \advance\dimen#1 by .8\framelroffset
\hbox to \dimen#1{\hss
\advance\dimen#1 by .8\framelroffset
\vbox to.2\dimen6{\hrule width .5\dimen#1\vfil\hrule} \vrule
\kern .5\dimen#1\kern-0.8\framelroffset}}}\catcode`\@=12

—
Syracuse — Dernière modification : 22 octobre 2002 (0.07s - 3484046 - 8 septembre 2008)