botinsert
Anton Surda
Anton.Surda at savba.sk
Thu Feb 12 15:37:33 CET 2004
Dobry den,
priamo v plaine nie je moznost umiestnovat plavajuce obrazky na spodok
strany. Dokonca ani v TBN nie je takato moznost uvedena ako ilustrativny
priklad v kapitole o insertoch. Zda sa, akoby tu mohli vznikat nejake
problemy. Skutocne, moj jednoduchy pokus zadefinovat \botinsert (prikladam
dole) pracuje vcelku slusne, ale situaciu, ked napisem niekolko \topinsertov
a \botinsertov v zmesi za sebou na jednom mieste, nezvladava a botinserty
spravidla hadze dole pod stranu. V Latexu to vraj funguje bez problemov.
Mohol by sa niekto so mnou podelit o nejake lepsie plainovske riesenie?
Vopred dakuje
Anton Surda
\newinsert\botins \newif\if at bot
\def\topinsert{\@midfalse\@botfalse\p at gefalse\@ins}
\def\midinsert{\@midtrue\@ins}
\def\pageinsert{\@midfalse\@botfalse\p at getrue\@ins}
\def\botinsert{\@midfalse\@bottrue\@ins}
\skip\topins=0pt minus6pt% space added when a topinsert is present
\skip\botins=0pt minus6pt% space added when a topinsert is present
\count\botins=1000 % magnification factor (1 to 1)
\dimen\botins=\maxdimen % no limit per page
\def\endinsert{\egroup % finish the \vbox
\if at mid \dimen@\ht\z@ \advance\dimen@\dp\z@ \advance\dimen at 12\p@
\advance\dimen@\pagetotal \advance\dimen at -\pageshrink
\ifdim\dimen@>\pagegoal\@midfalse\p at gefalse\@botfalse\fi
\dimen at 0\p@ \advance\dimen@\pagetotal \advance\dimen at -\pageshrink
\ifdim\dimen@>\pagegoal\@midtrue\fi
\fi
\if at mid \medskip\bigskip\box\z@\bigbreak
\else\if at bot\insert\botins{\penalty 100
\splittopskip\z at skip
\splitmaxdepth\maxdimen \floatingpenalty\z@
\bigskip
\box\z@\goodbreak}
\else\insert\topins{\penalty100
\splittopskip\z at skip
\splitmaxdepth\maxdimen \floatingpenalty\z@
\ifp at ge \dimen@\dp\z@
\vbox to\vsize{\unvbox\z@\kern-\dimen@}% depth is zero
\else \box\z@\nobreak\bigskip\fi}\fi\fi\endgroup}
\def\pagecontents{\ifvoid\topins\else\unvbox\topins\fi
\dimen@=\dp\@cclv \unvbox\@cclv
\ifvoid\botins\else
\unvbox\botins\fi
\ifvoid\footins\else
\vskip\skip\footins
\footnoterule
\unvbox\footins\fi
\ifr at ggedbottom \kern-\dimen@ \vfil \fi}
\def\footnoterule{\kern-3\p@
\hrule width 2truein \kern 2.6\p@} % the \hrule is .4pt high
More information about the csTeX
mailing list