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
|