%PDF- %PDF-
| Direktori : /proc/self/root/data/old/usr/share/texlive/texmf-dist/tex/latex/sttools/ |
| Current File : //proc/self/root/data/old/usr/share/texlive/texmf-dist/tex/latex/sttools/cuted.sty |
%%
%% This is file `cuted.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% cuted.dtx (with options: `package')
%%
%% Copyright (C) 1997-2012 by Sigitas Tolu\v{s}is <sigitas@vtex.lt>
%% VTeX Ltd., Akademijos 4, Vilnius, Lithuania
%% http://www.vtex.lt/tex/download/macros/
%% --------------------------------------------------------------------------
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%% http://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% PURPOSE: Insert some onecolumn material in full-width on double-column page.
%%
\NeedsTeXFormat{LaTeX2e}[1999/12/01]
\ProvidesPackage{cuted}
[2012/10/04 v1.5 Mixing onecolumn and twocolumn modes]
\def\on@stripcols@break{\hbox{}}
\DeclareOption{unskipbreak}{\gdef\on@stripcols@break{\unskip}}
\newif\if@flushend@auto@baselineskip
\DeclareOption{autobase}{\global\@flushend@auto@baselineskiptrue}
\ProcessOptions
\newtoks\At@ViperColsBreak \At@ViperColsBreak{}
\def\oldcolsbreak#1{\global\At@ViperColsBreak{#1}}
\def\viper@top@hook{\splittopskip0pt plus 2pt}
\newbox\v@aaa
\newbox\v@ccc
\@ifundefined{lastskip@a}{\newskip\lastskip@a}{}
\@ifundefined{lastskip@b}{\newskip\lastskip@b}{}
\@ifundefined{lastskip@d}{\newskip\lastskip@d}{}
\@ifundefined{lastbox@a}{\newbox\lastbox@a}{}
\@ifundefined{stripsep}{\newskip\stripsep \stripsep 15pt plus 2pt minus 2pt}{}
\@ifundefined{@viper}{\newbox\@viper}{}
\newif\if@lastviper \@lastviperfalse
\def\@outputdblcol{%
\if@firstcolumn
\global \@firstcolumnfalse
\global \setbox\@leftcolumn \box\@outputbox
\else
\global \@firstcolumntrue
\setbox\@outputbox \vbox {%
\hb@xt@\textwidth {%
\hb@xt@\columnwidth {%
\box\@leftcolumn \hss}%
\hfil
\vrule \@width\columnseprule
\hfil
\hb@xt@\columnwidth {%
\box\@outputbox \hss}%
}%
}%
\ifvoid\hold@viper
\else
\setbox\@outputbox \vbox to\textheight{%
\box\hold@viper
\box\@outputbox
\vss
}%
\fi
\@combinedblfloats
\@outputpage
\begingroup
\@dblfloatplacement
\@startdblcolumn
\@whilesw\if@fcolmade \fi
{\@outputpage
\@startdblcolumn}%
\ifvoid\@viper
\else
\global\setbox\@viper\vbox{%
\vskip-\stripsep
\unvbox\@viper
}%
\@viperoutput
\fi
\endgroup
\fi
}
\mathchardef\@Mv=10005
\newcount\viper@penalty
\def\strip{%
\ifinner
\@parmoderr\viper@penalty\z@
\else
\viper@penalty=-\@Mv\relax
\fi
\global \setbox\@viper\vbox\bgroup%
\hsize\textwidth
\@parboxrestore
\col@number \@ne
\vrule height\topskip width\z@ depth\z@
}
\def\endstrip{%
\egroup
\ifnum\viper@penalty <-\@Mii
\penalty -\@Miv
\ifvmode
\@tempdima\prevdepth %% saving and restoring \prevdepth added
\vbox{}% %% 26 May 87 to prevent extra vertical
\prevdepth\@tempdima %% space when used in vertical mode
\penalty-\@Mv\relax
\else
\par
\penalty-\@Mv\relax
\noindent
\fi
\fi
}
\gdef\@viperoutput{%
\global \setbox\@holdpg \vbox{%
\unvbox\@holdpg
\unvbox\@cclv
\setbox\@tempboxa \lastbox
\unskip
}%
\@pagedp \dp\@holdpg
\@pageht \ht\@holdpg
\ifvoid\@viper\else
\advance \@pageht \@pagedp
\ifvoid\footins \else
\advance \@pageht \ht\footins
\advance \@pageht \skip\footins
\advance \@pageht \dp\footins
\fi
\ifvbox \@kludgeins
\ifdim \wd\@kludgeins=\z@
\advance \@pageht \ht\@kludgeins
\fi
\fi
\@reinserts
\@addviper
\fi
}
\gdef\@specialoutput{%
\ifnum \outputpenalty>-\@Mii
\@doclearpage
\else
\ifnum \outputpenalty<-\@Miii
\ifnum \outputpenalty<-\@MM \deadcycles \z@ \fi
\ifnum \outputpenalty=-\@Mv
\@viperoutput
\ifnum \outputpenalty<\z@
\if@nobreak
\else
\addpenalty \interlinepenalty
\fi
\fi
\else
\global \setbox\@holdpg \vbox {\unvbox\@cclv}%
\fi
\else
\global \setbox\@holdpg \vbox{%
\unvbox\@holdpg
\unvbox\@cclv
\setbox\@tempboxa \lastbox
\unskip
}%
\@pagedp \dp\@holdpg
\@pageht \ht\@holdpg
\unvbox \@holdpg
\@next\@currbox\@currlist{%
\ifnum \count\@currbox>\z@
\advance \@pageht \@pagedp
\ifvoid\footins \else
\advance \@pageht \ht\footins
\advance \@pageht \skip\footins
\advance \@pageht \dp\footins
\fi
\ifvbox \@kludgeins
\ifdim \wd\@kludgeins=\z@
\advance \@pageht \ht\@kludgeins
\fi
\fi
\@reinserts
\@addtocurcol
\else
\@reinserts
\@addmarginpar
\fi
}\@latexbug
\ifnum \outputpenalty<\z@
\if@nobreak
\else
\addpenalty \interlinepenalty
\fi
\fi
\fi
\fi
}
\@ifundefined{hold@viper}{\newbox\hold@viper}{}
\newdimen\ht@viper
\def \@addviper {%
\if@firstcolumn
\@insertfalse
\@reqcolroom .5\@pageht
\ht@viper\@reqcolroom
\advance \@reqcolroom \ht\@viper
\advance \@reqcolroom \stripsep
\ifvoid\hold@viper\@tempdima=\z@\else\@tempdima\ht\hold@viper\fi
%%
\@tempdimb \ht@viper
\loop
\setbox\v@aaa\copy\@holdpg
\setbox\v@ccc\vbox to\@tempdimb{%
\vsplit\v@aaa to\@tempdimb\vss\vsplit\v@aaa to\@tempdimb}%
\wlog{Extra height:\the\ht\v@aaa\space when \the\@tempdimb}%
\ifvoid\v@aaa \else \advance\@tempdimb 1pt \repeat
\loop
\setbox\v@aaa\copy\@holdpg
\setbox\v@ccc\vbox to\@tempdimb{%
\vsplit\v@aaa to\@tempdimb\vss}%
\wlog{(2)Left:\the\ht\v@ccc\space Right:\the\ht\v@aaa\space Output:\the\@tempdimb}%
\ifdim \ht\v@ccc<\ht\v@aaa \@tempdimb \the\ht\v@aaa \repeat
\wlog{- LAST -^^JLeft:\the\ht\v@ccc^^JRight:\the\ht\v@aaa^^JOutput:\the\@tempdimb}%
\setbox\v@ccc\vbox to\@tempdimb{%
\vsplit\@holdpg to\@tempdimb\vss}%
%%
\setbox\@tempboxa \vbox {%
\hb@xt@\textwidth {%
\hb@xt@\columnwidth {%
\vbox to\ht@viper{\box\v@ccc\vss} \hss}%
\hfil
\vrule \@width\columnseprule
\hfil
\hb@xt@\columnwidth {%
\vbox to\ht@viper{\box\@holdpg\vss} \hss}%
}%
}%
\ifvoid\hold@viper
\global\setbox\hold@viper \vbox {%
\unvbox\@tempboxa
\penalty\interlinepenalty
\vskip\stripsep
\ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi
\outputpenalty \z@
}%
\else
\global\setbox\hold@viper \vbox {%
\unvbox\hold@viper
\unvbox\@tempboxa
\penalty\interlinepenalty
\vskip\stripsep
\ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi
\outputpenalty \z@
}%
\fi
\ifdim \@colroom>\@reqcolroom
\global\setbox\hold@viper \vbox {%
\unvbox\hold@viper
\box\@viper
\penalty\interlinepenalty
\vskip\stripsep
\ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi
\outputpenalty \z@
}%
\@inserttrue
\advance\@tempdima by-\ht\hold@viper
\global \advance \@colht \@tempdima
\ifdim \@colht<2.5\baselineskip
\@latex@warning@no@line {Optional argument of \noexpand\twocolumn
too tall on page \thepage (1 stulpelis)}%
\@emptycol
\if@firstcolumn
\else
\@emptycol
\fi
\global\@lastvipertrue
\else
\global \vsize \@colht
\global \@colroom \@colht
\check@floats
\ifdim\@tempdima>\z@
\global\advance\@colroom by-\@tempdima
\fi
\ifdim\@colroom<\z@
\global\@colroom 1pt
\ifdim\@tempdima>\@colht
\@latex@warning@no@line {TOP ir/ar BOT FLOAT's
netelpa lape \thepage (1 stulpelis)}%
\fi
\@emptycol
\if@firstcolumn
\else
\@emptycol
\fi
\global\@lastvipertrue
\fi
\fi
\fi
\else
\@insertfalse
\@reqcolroom\@colht
\advance\@reqcolroom \@pageht
\ht@viper.5\@reqcolroom
\@reqcolroom\ht@viper
\advance \@reqcolroom \ht\@viper
\advance \@reqcolroom \stripsep
\if@flushend@auto@baselineskip
\setbox\@tempboxa\vbox{\unvcopy\@leftcolumn
\global\lastskip@d\lastskip
\global\lastskip@b\lastskip
\loop
\global\lastskip@a\lastskip@b
\unskip\unpenalty
\global\lastskip@b\lastskip
\global\advance\lastskip@d by\lastskip
\ifdim\lastskip@b=-\lastskip@a
\global\advance\lastskip@d by-\lastskip
\else
\repeat
\ifdim\lastskip@b=-\lastskip@a
\ifdim\lastskip@b=\z@
\setbox\lastbox@a\lastbox
\global\advance\lastskip@d by\ht\lastbox@a
\global\advance\lastskip@d by\lastskip
\unskip\unpenalty
\setbox\lastbox@a\lastbox
\global\advance\lastskip@d by\dp\lastbox@a
\else
\global\lastskip@d\lastskip
\global\advance\lastskip@d by\topskip
\fi
\fi
\global\advance\lastskip@d by-\topskip
}%
\ifdim\ht\@holdpg>\@colht
\global\setbox\@holdpg\vbox{\unvbox\@leftcolumn\unskip\unpenalty
\par\eject
\vbox to \@colht{\unvbox\@holdpg\unskip}%
}%
\else
\global\setbox\@holdpg\vbox{%
\unvbox\@leftcolumn\unskip\unpenalty
\vskip\lastskip@d
\the\At@ViperColsBreak
\unvbox\@holdpg
\unskip
}%
\fi
\else
\global\setbox\@holdpg\vbox{%
\unvbox\@leftcolumn
\setbox\@tempboxa\lastbox
\on@stripcols@break
\the\At@ViperColsBreak
\unvbox\@holdpg
}%
\fi
\global\At@ViperColsBreak{}%
\ht@viper .5\ht\@holdpg
\ifdim \ht@viper>\@colht
\ht@viper \@colht
\fi
\ifvoid\hold@viper\@tempdima=\z@\else\@tempdima\ht\hold@viper\fi
%%
\@tempdimb \ht@viper
\loop
\setbox\v@aaa\copy\@holdpg
\setbox\v@ccc\vbox to\@tempdimb{%
\vsplit\v@aaa to\@tempdimb
\vss
\vsplit\v@aaa to\@tempdimb
}%
\wlog{Extra height:\the\ht\v@aaa\space when \the\@tempdimb}%
\ifvoid\v@aaa
\else
\advance\@tempdimb 1\p@
\repeat
\loop
\setbox\v@aaa\copy\@holdpg
\setbox\v@ccc\vbox to\@tempdimb{\vsplit\v@aaa to\@tempdimb\vss}%
\wlog{(2)Left:\the\ht\v@ccc\space
Right:\the\ht\v@aaa\space
Output:\the\@tempdimb
}%
\ifdim\ht\v@ccc<\ht\v@aaa
\@tempdimb \the\ht\v@aaa
\repeat
\wlog{- LAST -^^JLeft:\the\ht\v@ccc
^^JRight:\the\ht\v@aaa
^^JOutput:\the\@tempdimb
}%
\setbox\v@ccc\vbox to\@tempdimb{\vsplit\@holdpg to\@tempdimb\vss}%
\setbox\@tempboxa\vbox{%
\hb@xt@\textwidth {%
\hb@xt@\columnwidth{\vbox to\ht@viper{\box\v@ccc\vss} \hss}%
\hfil
\vrule \@width\columnseprule
\hfil
\hb@xt@\columnwidth {\vbox to\ht@viper{\box\@holdpg\vss} \hss}%
}%
}%
\ifvoid\hold@viper
\global\setbox\hold@viper \vbox {%
\unvbox\@tempboxa
\penalty\interlinepenalty
\vskip\stripsep
\ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi
\outputpenalty \z@
}%
\else
\global\setbox\hold@viper \vbox {%
\unvbox\hold@viper
\unvbox\@tempboxa
\penalty\interlinepenalty
\vskip\stripsep
\ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi
\outputpenalty \z@
}%
\fi
\ifdim \@colht>\@reqcolroom
\global\setbox\hold@viper \vbox {%
\unvbox\hold@viper
\box\@viper
\penalty\interlinepenalty
\vskip\stripsep
\ifnum\outputpenalty <-\@Mii \vskip -\parskip\fi
\outputpenalty \z@
}%
\@inserttrue
\global\@firstcolumntrue
\advance\@tempdima by-\ht\hold@viper
\global \advance \@colht \@tempdima
\ifdim \@colht<2.5\baselineskip
\@latex@warning@no@line {Optional argument of \noexpand\twocolumn
too tall on page \thepage (2 stulpelis)}%
\@emptycol
\if@firstcolumn
\else
\@emptycol
\fi
\global\@lastvipertrue
\else
\global \vsize \@colht
\global \@colroom \@colht
\check@floats
\ifdim\@tempdima>\z@
\global\advance\@colroom by-\@tempdima
\fi
\ifdim\@colroom<\z@
\global\@colroom 1pt
\ifdim\@tempdima>\@colht
\@latex@warning@no@line {TOP ir/ar BOT FLOAT's
netelpa lape \thepage (2 stulpelis)}%
\fi
\@emptycol
\if@firstcolumn
\else
\@emptycol
\fi
\global\@lastvipertrue
\fi
\fi
\fi
\fi
\if@insert
\else
\advance\@tempdima by-\ht\hold@viper
\global \advance \@colht \@tempdima
\global\setbox\hold@viper \vbox {%
\unvbox\hold@viper
\csname viper@top@hook\endcsname
\vsplit\@viper to \@colht
\vss
}%
\vbox{}%
\global\@firstcolumnfalse
\newpage
\fi
}
\def\check@floats{%
\global\@tempdima\z@
\let\@elt\ht@comflelt
\ifx\@toplist\@empty \else \@toplist \fi
\ifx\@botlist\@empty \else \@botlist \fi
}
\def\ht@comflelt#1{%
\setbox\@tempboxa\vbox{\copy #1\vskip\floatsep}%
\global\advance\@tempdima by\ht\@tempboxa
}
\output {%
\let \par \@@par
\ifnum \outputpenalty<-\@M
\@specialoutput
\else
\@makecol
\@opcol
\@startcolumn
\@whilesw \if@fcolmade \fi
{%
\@opcol\@startcolumn}%
\fi
\ifnum \outputpenalty>-\@Miv
\ifdim \@colroom<1.5\baselineskip
\ifdim \@colroom<\textheight
\@latex@warning@no@line {Text page \thepage\space
contains only floats}%
\if@lastviper\else\@emptycol\fi
\if@twocolumn
\if@firstcolumn
\else
\@emptycol
\fi
\fi
\global\@lastviperfalse
\else
\global \vsize \@colroom
\fi
\else
\global \vsize \@colroom
\fi
\else
\ifnum\outputpenalty<-100005
\global \vsize \maxdimen
\else
\global \vsize \@colroom
\fi
\fi
}
\endinput
%%
%% End of file `cuted.sty'.