Mercurial > hg > Members > masakoha > masa
comparison 14/homework/morals/4-21/eclbkbox.sty @ 84:cbf5b8a64520
add homework
author | Masataka Kohagura <e085726@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 24 Apr 2014 03:38:27 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
83:0691a56cff56 | 84:cbf5b8a64520 |
---|---|
1 % eclbkbox.sty by Hideki Isozaki, 1992 | |
2 % Date: May 28, 1993 | |
3 | |
4 \newbox\bk@bxb | |
5 \newbox\bk@bxa | |
6 \newif\if@bkcont | |
7 \newif\ifbkcount | |
8 \newcount\bk@lcnt | |
9 | |
10 \def\breakboxskip{2pt} | |
11 \def\breakboxparindent{1.8em} | |
12 | |
13 \def\breakbox{\vskip\breakboxskip\relax | |
14 \setbox\bk@bxb\vbox\bgroup | |
15 \advance\linewidth -2\fboxrule | |
16 \advance\linewidth -2\fboxsep | |
17 \hsize\linewidth\@parboxrestore | |
18 \parindent\breakboxparindent\relax} | |
19 | |
20 % \@tempdimb: amount of vertical skip | |
21 % between the first line (\bk@bxa) and the rest (\bk@bxb) | |
22 \def\bk@split{% | |
23 \@tempdimb\ht\bk@bxb % height of original box | |
24 \advance\@tempdimb\dp\bk@bxb | |
25 \setbox\bk@bxa\vsplit\bk@bxb to\z@ % split it | |
26 \setbox\bk@bxa\vbox{\unvbox\bk@bxa}% recover height & depth of \bk@bxa | |
27 \setbox\@tempboxa\vbox{\copy\bk@bxa\copy\bk@bxb}% naive concatenation | |
28 \advance\@tempdimb-\ht\@tempboxa | |
29 \advance\@tempdimb-\dp\@tempboxa}% gap between two boxes | |
30 | |
31 | |
32 % \@tempdima: height of the first line (\bk@bxa) + fboxsep | |
33 \def\bk@addfsepht{% | |
34 \setbox\bk@bxa\vbox{\vskip\fboxsep\box\bk@bxa}} | |
35 | |
36 \def\bk@addskipht{% | |
37 \setbox\bk@bxa\vbox{\vskip\@tempdimb\box\bk@bxa}} | |
38 | |
39 % \@tempdima: depth of the first line (\bk@bxa) + fboxsep | |
40 \def\bk@addfsepdp{% | |
41 \@tempdima\dp\bk@bxa | |
42 \advance\@tempdima\fboxsep | |
43 \dp\bk@bxa\@tempdima} | |
44 | |
45 % \@tempdima: depth of the first line (\bk@bxa) + vertical skip | |
46 \def\bk@addskipdp{% | |
47 \@tempdima\dp\bk@bxa | |
48 \advance\@tempdima\@tempdimb | |
49 \dp\bk@bxa\@tempdima} | |
50 | |
51 \def\bk@line{% | |
52 \hbox to \linewidth{\ifbkcount\smash{\llap{\the\bk@lcnt\ }}\fi | |
53 \vrule \@width\fboxrule\hskip\fboxsep | |
54 \box\bk@bxa\hfil | |
55 \hskip\fboxsep\vrule \@width\fboxrule}} | |
56 | |
57 \def\endbreakbox{\egroup | |
58 \ifhmode\par\fi{\noindent\bk@lcnt\@ne | |
59 \@bkconttrue\baselineskip\z@\lineskiplimit\z@ | |
60 \lineskip\z@\vfuzz\maxdimen | |
61 \bk@split\bk@addfsepht\bk@addskipdp | |
62 \ifvoid\bk@bxb % Only one line | |
63 \def\bk@fstln{\bk@addfsepdp | |
64 \vbox{\hrule\@height\fboxrule\bk@line\hrule\@height\fboxrule}}% | |
65 \else % More than one line | |
66 \def\bk@fstln{\vbox{\hrule\@height\fboxrule\bk@line}\hfil | |
67 \advance\bk@lcnt\@ne | |
68 \loop | |
69 \bk@split\bk@addskipdp\leavevmode | |
70 \ifvoid\bk@bxb % The last line | |
71 \@bkcontfalse\bk@addfsepdp | |
72 \vtop{\bk@line\hrule\@height\fboxrule}% | |
73 \else % 2,...,(n-1) | |
74 \bk@line | |
75 \fi | |
76 \hfil\advance\bk@lcnt\@ne | |
77 \if@bkcont\repeat}% | |
78 \fi | |
79 \leavevmode\bk@fstln\par}\vskip\breakboxskip\relax} | |
80 | |
81 \bkcountfalse | |
82 |