diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/sttools/marginal.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/sttools/marginal.sty | 171 |
1 files changed, 171 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/sttools/marginal.sty b/Master/texmf-dist/tex/latex/sttools/marginal.sty new file mode 100644 index 00000000000..58b2fb373ce --- /dev/null +++ b/Master/texmf-dist/tex/latex/sttools/marginal.sty @@ -0,0 +1,171 @@ +%% marginal.sty +%% Copyright 1997 Sigitas Tolu\v sis +%% VTeX Ltd., Akademijos 4, Vilnius, Lithuania +%% e-mail sigitas@vtex.lt +%% http://www.vtex.lt/tex/download/macros/ +%% +% This program can redistributed and/or modified under the terms +% of the LaTeX Project Public License Distributed from CTAN +% archives in directory macros/latex/base/lppl.txt; either +% version 1 of the License, or (at your option) any later version. +% +% PURPOSE: Enlarge free and show lost marginal inserts +% +% SHORT DESCRIPTION: +% +% \showlostmarginals +% ------------------ +% Outputs lost marginal notes at the left of page +% +% \enlargefreelist +% ---------------- +% Adds more(34) free inserts to freelist +% +% \onesidemarginals +% ----------------- +% Outputs marginal notes only on one side. It saves one half +% of the available free inserts. +% +\ProvidesPackage{marginal}[1997/04/01] +% +\newif\if@mparlost \@mparlostfalse +% +\newbox\@mparlostbox +\setbox\@mparlostbox\vbox{} +% +\gdef\@fltovfpar{\global\@mparlosttrue% + \@latex@warning{Too many unprocessed (marginal)floats}\relax} +\gdef\@fltovfmess{% + \@latex@error{Too many unprocessed floats}\@ehb} +% +\def\marginpar{\ifhmode \@bsphack\@floatpenalty -\@Mii\else + \@floatpenalty-\@Miii\fi\ifinner + \@parmoderr\@floatpenalty\z@ + \else\@next\@currbox\@freelist{}{}\@next\@marbox\@freelist{\global + \count\@marbox\m@ne}{\@floatpenalty\z@ \@fltovfmess + \def\@currbox{\@tempboxa}\def\@marbox{\@tempboxa}}\fi + \@ifnextchar [\@xmpar\@ympar} +% +\long\def \@savemarbox #1#2{% + \global\setbox #1% + \color@vbox + \vtop{% + \hsize\marginparwidth + \@parboxrestore + \@marginparreset + #2% + \global\@minipagefalse + \outer@nobreak + }% + \color@endbox% + \if@mparlost\global\setbox\@mparlostbox\vbox{\unvbox\@mparlostbox\copy#1}% + \global\@mparlostfalse\fi +} +% +% \showlostmarginals - outputs lost marginal notes at the left of the page +% +\def\showlostmarginals{% + \global\let\old@textbottom\@textbottom + \gdef\@textbottom{\vtop to\z@{\hbox to\z@{\kern-\wd\@mparlostbox\vbox + to\z@{\kern-\ht\@mparlostbox\box\@mparlostbox\vfill}}}\old@textbottom}% + \global\let\@fltovfmess\@fltovfpar} +% +% \enlargefreelist - Adds more(34) free inserts to freelist +% +\def\enlargefreelist{% +\newinsert\bx@S +\newinsert\bx@T +\newinsert\bx@U +\newinsert\bx@V +\newinsert\bx@W +\newinsert\bx@X +\newinsert\bx@Y +\newinsert\bx@Z +\newinsert\bx@a +\newinsert\bx@b +\newinsert\bx@c +\newinsert\bx@d +\newinsert\bx@e +\newinsert\bx@f +\newinsert\bx@g +\newinsert\bx@h +\newinsert\bx@i +\newinsert\bx@j +\newinsert\bx@k +\newinsert\bx@l +\newinsert\bx@m +\newinsert\bx@n +\newinsert\bx@o +\newinsert\bx@p +\newinsert\bx@q +\newinsert\bx@r +\newinsert\bx@s +\newinsert\bx@t +\newinsert\bx@u +\newinsert\bx@v +\newinsert\bx@w +\newinsert\bx@x +\newinsert\bx@y +\newinsert\bx@z +\gdef\@freelist{\@elt\bx@A\@elt\bx@B\@elt\bx@C\@elt\bx@D\@elt\bx@E + \@elt\bx@F\@elt\bx@G\@elt\bx@H\@elt\bx@I\@elt\bx@J + \@elt\bx@K\@elt\bx@L\@elt\bx@M\@elt\bx@N + \@elt\bx@O\@elt\bx@P\@elt\bx@Q\@elt\bx@R + \@elt\bx@S\@elt\bx@T\@elt\bx@U\@elt\bx@V + \@elt\bx@W\@elt\bx@X\@elt\bx@Y\@elt\bx@Z + \@elt\bx@a\@elt\bx@b\@elt\bx@c\@elt\bx@d\@elt\bx@e + \@elt\bx@f\@elt\bx@g\@elt\bx@h\@elt\bx@i\@elt\bx@j + \@elt\bx@k\@elt\bx@l\@elt\bx@m\@elt\bx@n + \@elt\bx@o\@elt\bx@p\@elt\bx@q\@elt\bx@r + \@elt\bx@s\@elt\bx@t\@elt\bx@u\@elt\bx@v + \@elt\bx@w\@elt\bx@x\@elt\bx@y\@elt\bx@z}% +} +% +% \onesidemarginals - outputs marginals only on one side +% +\def\onesidemarginals{% +\newbox\@marbox +\gdef\@addmarginpar{\@cons\@freelist\@currbox + \@tempdima\@mparbottom + \advance\@tempdima -\@pageht + \advance\@tempdima\ht\@currbox + \ifdim\@tempdima >\z@ + \@latex@warning@no@line {Marginpar on page \thepage\space moved}% + \else + \@tempdima\z@ + \fi + \global\@mparbottom\@pageht + \global\advance\@mparbottom\@tempdima + \global\advance\@mparbottom\dp\@currbox + \global\advance\@mparbottom\marginparpush + \advance\@tempdima -\ht\@currbox + \global\setbox \@currbox + \vbox {\vskip \@tempdima + \box \@currbox}% + \global \ht\@currbox \z@ + \global \dp\@currbox \z@ + \kern -\@pagedp + \nointerlineskip + \hb@xt@\columnwidth + {\hskip\columnwidth \hskip\marginparsep \box\@currbox \hss}% + \nointerlineskip + \hbox{\vrule \@height\z@ \@width\z@ \@depth\@pagedp}}% +% +\gdef\marginpar{\ifhmode \@bsphack\@floatpenalty -\@Mii\else + \@floatpenalty-\@Miii\fi\ifinner\@parmoderr\@floatpenalty\z@ + \else\@next\@currbox\@freelist{\global + \count\@currbox\m@ne}{\@floatpenalty\z@ \@fltovfmess + \def\@currbox{\@tempboxa}}\fi + \@ifnextchar [\@xmpar\@ympar}% +% +\long\gdef\@xmpar[##1]##2{\@savemarbox\@currbox{##2}\@xympar}% +\long\gdef\@ympar##1{\@savemarbox\@currbox{##1}\@xympar}% +\def \@xympar{% +% \ifnum\@floatpenalty <\z@\@cons\@currlist\@marbox\fi + \setbox\@tempboxa + \color@vbox + \vbox \bgroup + \end@float + \global \@ignorefalse \@esphack}% +} +\endinput |