blob: 1ce1ed535ab51d201ff372bb44242d2de495796c (
plain)
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
91
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% LOVAL.STY \copyright by Elmar Schal\"{u}ck %
% Version 1.1 February 1991 %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\message{LOVAL.STY Ver 1.1 Feb 1991 Elmar Schal\"{u}ck}
\catcode`\@=11 % Make @ a letter
\newbox\@tmpbox % to save a box
\newdimen\@tmpdimd % dimen of depth
\newdimen\@tmpdimh % dimen of height
\newdimen\@tmpdimw % dimen of width
\newdimen\@oldunitl \newcount\@textw%
\newcount\@texth \newcount\@textd%
\newcount\@xoffs \newcount\@yoffs%
\newcount\@xoval \newcount\@yoval%
\newcount\@totalwidth \newcount\@totalheight%
\newcount\@xovaloffs \newcount\@horline%
\newcount\@ytextoffs \newcount\@xtextoffs%
\newcount\@fboxcount \newcount\@wholecount
\newcount\@stdoffs %
\newdimen\@em%
%
% \ovalbox#1 defines a box with round corners to enclose #1
%
\long\def\ovalbox#1{\relax\leavevmode %
\@oldunitl=\unitlength % save old unitlength
\unitlength.01pt % interim value for precision
\@em=1em % 1 em
\@stdoffs=\@em %
\divide\@stdoffs by \unitlength % to avoid unwanted glues
\divide\@stdoffs by10 %
\multiply\@stdoffs by 3 % 0.3em
\setbox\@tmpbox\hbox{#1} % make #1 a box
\@tmpdimd=\dp\@tmpbox % depth of box, i.e. the part beneath
% the baseline
\@tmpdimh=\ht\@tmpbox % part above baseline
\@tmpdimw=\wd\@tmpbox % width of box
\@textw=\@tmpdimw\divide\@textw by\unitlength
\@texth=\@tmpdimh\divide\@texth by\unitlength
\@textd=\@tmpdimd\divide\@textd by\unitlength
\@fboxcount=\fboxsep\divide\@fboxcount by\unitlength
\@wholecount=\@wholewidth\divide\@wholecount by\unitlength
\advance\@texth by \@textd
\advance\@tmpdimh by\@tmpdimd % total height of original box
\@xoval=\@fboxcount\@yoval=\@texth % diametervalues of \oval
\advance\@yoval by \@fboxcount % xoval for width
\advance\@yoval by \@fboxcount % yoval for height
\@xoffs=\@xoval\divide\@xoffs by 2 %
\advance\@xoffs by -\@stdoffs % where to place left oval
\@yoffs=\@yoval\divide\@yoffs by 2 % middle of ovalheight
\@horline=\@fboxcount %
\advance\@horline by \@textw % length of horiz. line
\advance\@tmpdimd by\fboxsep %
\advance\@tmpdimd by\@wholewidth % total depth of box
\@ytextoffs=\@textd %
\advance\@ytextoffs by\@wholecount % baseline in picturevalues
\advance\@ytextoffs by\@fboxcount %
\@xtextoffs=\@fboxcount % where to put original text
\advance\@xtextoffs by -\@stdoffs %
\@totalwidth=\@wholecount %
\advance\@totalwidth by \@fboxcount %
\advance\@totalwidth by \@totalwidth %
\advance\@totalwidth by \@textw %
\advance\@totalwidth by -\@stdoffs %
\advance\@totalwidth by -\@stdoffs % width of picture enviroment
\@totalheight=\@wholecount %
\advance\@totalheight by \@fboxcount %
\advance\@totalheight by \@totalheight %
\advance\@totalheight by \@texth % height of picture enviroment
\hbox{\lower\@tmpdimd % put a box beneath baseline
\hbox%
{\relax%
\begin{picture}(\@totalwidth,\@totalheight) %
\put(\@xoffs,\@yoffs){\oval(\@xoval,\@yoval)[l]} % left oval
\put(\@xoffs,0){\line(1,0){\@horline}} % lower line
\put(\@xoffs,\@yoval){\line(1,0){\@horline}} % upper line
\put(\@xtextoffs,\@ytextoffs){#1} % original box
\advance\@xoffs by \@horline %
\put(\@xoffs,\@yoffs){\oval(\@xoval,\@yoval)[r]} % right oval
\end{picture}\relax %
} %
}%
\unitlength=\@oldunitl % restore unitlength
} %
%
\catcode`\@=12%
% reset catcode of @-sign
%
% End of LOVAL.STY
%
|