diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-13 00:09:40 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-13 00:09:40 +0000 |
commit | af7677d2922783acbd8032893521899c9ed3a490 (patch) | |
tree | 979233cbd74896683c907b938c59bb32c2f2c86d | |
parent | 8317c14a3982d615f40eba6278e7c0b9cc791e9b (diff) |
topfloat
git-svn-id: svn://tug.org/texlive/trunk@1403 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/tex/latex/topfloat/topfloat.sty | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/topfloat/topfloat.sty b/Master/texmf-dist/tex/latex/topfloat/topfloat.sty new file mode 100644 index 00000000000..f1cfe90d873 --- /dev/null +++ b/Master/texmf-dist/tex/latex/topfloat/topfloat.sty @@ -0,0 +1,80 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% TopFloat e` un pacchetto per LaTeX2e di Macchia Angelo che rappresenta +% una modifica del comando caption e crea un ambiente per impaginare fino a +% 2 elementi mobili in alto nella pagina. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\typeout{TopFloat, Version 1.0 Sep. 99, di Macchia Angelo} +% +%% Registri usati dal pacchetto: +% +\newdimen\@toplarghezza\newdimen\@topdefault\newcount\@topcount +\let\@topbox\@tempboxa +% +%% Definizione caratteri +% +\font\@toptipo=cmti7 at 10pt % testo del tipo (esempio "Figura 1") +\font\@topdidascalia=cmti10 % testo della didascalia +% +%% definizione di @supercap: #1=tipo ; #2=testo della didascalia +%% #3=larghezza didascalia (se e` 0 => la larghezza e` quella della didascalia) +% +\long\def\@supercap#1#2#3{% + \gdef\@captype{#1}\refstepcounter{#1}% + \addcontentsline{\csname ext@#1\endcsname}{#1}% + {\protect\numberline{\csname the#1\endcsname}{\ignorespaces #2}}% + \@toplarghezza=#3 \normalsize + \@makecaption{\csname fnum@#1\endcsname}{\ignorespaces \it#2}% +} +% +%% Definizioni didascalie per ogni tipo di elemento mobile +% +% +% \tabcap[larghezza]{didascalia} +% +\newcommand{\tabcap}[2][\@topdefault]{% + \@supercap{table}{#2}{#1}% +} +% +\newcommand{\figcap}[2][\@topdefault]{% + \@supercap{figure}{#2}{#1}% +} +% +\long\def\@makecaption#1#2{% + \sbox\@topbox{{\@toptipo#1}{\@topdidascalia: #2}}% + \ifdim\@toplarghezza=0pt\@toplarghezza=\wd\@topbox\fi + \ifdim \wd\@topbox >\@toplarghezza + \hbox{\vbox{\kern0.5cm\parshape=1 0pt \@toplarghezza% + {\@toptipo#1}{\@topdidascalia: #2}}} + \else + \hbox to\@toplarghezza{\hss\vbox to0.5cm{\vss}% + \hbox{{\@toptipo#1}{\@topdidascalia: #2}}\hss} + \fi} +% +% +%% Ambiente per floats +% +\newenvironment{topfloat}[1]{% + \begin{figure}[t] + \@topcount=#1 + \ifnum#1>2\PackageError{TOPFLOAT}% + {posso impaginare fino a 2 elementi}{}% + \else\@topdefault=\linewidth\divide\@topdefault by#1% + \fi% + \hbox to\linewidth\bgroup\hss\vbox\bgroup}% +{\egroup\hss\egroup\end{figure}} + +\def\topI{\setbox\@topbox=\hbox\bgroup} +\def\endtopI{\egroup\@topdefault=\wd\@topbox\box\@topbox} + +\def\topII{\ifnum\@topcount=1\PackageError{TOPFLOAT}% + {Probabilmente stai cercando di impaginare 2 elementi + pero` a me hai detto che ne dovevo impaginare solo uno!}{}% + \fi% + \egroup\hss\vbox\bgroup% + \setbox\@topbox=\hbox\bgroup} +\def\endtopII{\egroup\@topdefault=\wd\@topbox\box\@topbox} + + +\endinput |