1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
|
%%
%% This is file `shadow.sty',
%%
%% Copyright 1994, 2003 Mauro Orlandini
%%
%% It may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.2
%% 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.2 or later is part of all distributions of LaTeX
%% version 1999/12/01 or later.
%%
%%% ======================================================================
%%% @LaTeX-style{
%%% filename = "shadow.sty",
%%% version = "1.3",
%%% date = "19 February 2003",
%%% author = "Mauro Orlandini",
%%% address = "TeSRE Institute/CNR
%%% Area della Ricerca di Bologna
%%% Via Gobetti 101
%%% 40129 Bologna, Italy",
%%% e-mail = "orlandini@bo.iasf.cnr.it",
%%% telephone = "+39 51 639-8667",
%%% FAX = "+39 51 639-8723",
%%% supported = "yes",
%%% abstract = "The command \shabox has the same meaning of the
%%% LaTeX command \fbox except for the fact that a
%%% "shadow" is added to the bottom and the right side
%%% of the box. It computes the right dimension of the
%%% box, even if the text spans over more than one
%%% line; in this case a warning messagge is given.",
%%% codetable = "ISO/ASCII",
%%% docstring = "There are three parameters governing:
%%% 1. the width of the lines delimiting the box:
%%% \sboxrule
%%% 2. the separation between the edge of the box and
%%% its contents: \sboxsep
%%% 3. the dimension of the shadow: \sdim
%%% Sintax: \shabox{<text>}
%%% where <text> is the text to be put in the
%%% framed box. It can be an entire paragraph.
%%% Adapted from the file dropshadow.tex by
%%% drstrip@cd.sandia.gov.
%%% V1.1 Works in a double column environment.
%%% V1.2 When there is an online shadow box, it
%%% will be centered on the line (in V1.1 the
%%% box was aligned with the baseline).
%%% (Courtesy by Mike Piff)"
%%% V1.3 Added a number of missing % signs
%%% no other cleanup done (FMi)
%%%
%%% }
%%% ======================================================================
%
%
\ProvidesPackage{shadow}[2003/02/19 v1.3 shadow boxes (M.O.)]
\newdimen\txtwdth \newdimen\sht \newdimen\shw \newbox\shbox
\newdimen\sboxsep \newdimen\sboxrule \newdimen\sdim
\sboxsep = 10pt
\sdim = 4pt
\sboxrule = .4pt
\def\shabox#1{\setbox\@tempboxa\hbox{#1}%
\shw\wd\@tempboxa
\if@twocolumn\txtwdth\columnwidth\else\txtwdth\textwidth\fi
\ifdim\shw<\txtwdth
\leavevmode\setbox\@tempboxa\hbox{#1}%
\else
\typeout{Shadow Warning: Box dimension greater than textwidth.}%
\setbox\@tempboxa\vbox{\hsize\txtwdth\advance\hsize-2\sboxsep
\advance\hsize-2\sboxrule \advance\hsize-2\sdim \advance\hsize-15pt#1}%
\fi
\setbox\shbox\hbox{\@tempdima\sboxrule
\advance\@tempdima \sboxsep \advance\@tempdima \dp\@tempboxa
\hbox{\lower \@tempdima\hbox
{\vbox{\hrule \@height \sboxrule
\hbox{\vrule \@width \sboxrule \hskip\sboxsep
\vbox{\vskip\sboxsep \box\@tempboxa\vskip\sboxsep}\hskip
\sboxsep\vrule \@width \sboxrule}%
\hrule \@height \sboxrule}}}}%
\sht\ht\shbox \advance\sht-\sdim
\leavevmode\vbox{\baselineskip0pt\lineskip0pt\vtop{%% V1.2
%% Added \vtop
%% From M.Piff
\hbox{\copy\shbox\vrule width\sdim height\sht}%
\hbox{\kern\sdim\vrule height\sdim width \wd\shbox}}}}
\endinput
|