summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/sttools/marginal.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/sttools/marginal.sty')
-rw-r--r--Master/texmf-dist/tex/latex/sttools/marginal.sty171
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