-
Notifications
You must be signed in to change notification settings - Fork 29
/
EMminipages.sty
127 lines (127 loc) · 4.79 KB
/
EMminipages.sty
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
% EMminipages.sty by tDB (emath@nifty.com)
%
\ProvidesPackage{EMminipages}[2010/04/13 v0.03$B&A(B]%
%
\RequirePackage{keyval}
%
\newbox\EMminipages@box
\define@key{emMw}{retusuu}{\edef\EMminipages@n{#1}}%
\define@key{emMw}{tate}{\edef\EMminipages@h{#1}}%
\define@key{emMw}{columnsep}{\setlength{\columnsep}{#1}}%
\define@key{emMw}{columnseprule}[.4pt]{\setlength{\columnseprule}{#1}}%
\define@key{emMw}{keiryou}[1]{\edef\EMminipages@keiryou{}}%
\def\EMminipages{%
\edef\EMminipages@totallinewidth{\the\linewidth}%
\edef\EMminipages@n{0}%
\edef\EMminipages@m{0}%
\@ifnextchar<{\EMminipages@}{\@EMminipages}}%
\def\EMminipages@<#1>{\setkeys{emMw}{#1}\@EMminipages}%
\def\@EMminipages#1{%
%
\def\EMminipagesbreak{\mbox{}%\@ignoretrue
\@ifundefined{EMminipages@keiryou}{%
\end{minipage}%
}{%
\end{minipage}\egroup
\@tempdima=\ht\EMminipages@box\advance\@tempdima\dp\EMminipages@box
%\typeout{EMminipages:height-\EMminipages@i=\the\@tempdima}%
\box\EMminipages@box
}%
\hfill\vrule width\columnseprule\hfill
\Incr\EMminipages@i
\@ifundefined{EMminipages@h}{%
\@ifundefined{EMminipages@keiryou}{%
\begin{minipage}[t]{\csname EMminipages@w@\romannumeral \EMminipages@i\endcsname}%
}{%
\setbox\EMminipages@box=\hbox\bgroup
\begin{minipage}[t]{\csname EMminipages@w@\romannumeral \EMminipages@i\endcsname}%
}%
}{%
\begin{minipage}[b][\EMminipages@h]{\csname EMminipages@w@\romannumeral \EMminipages@i\endcsname}%
}%
% \begin{minipage}[t]{\csname EMminipages@w@\romannumeral \EMminipages@i\endcsname}%
\ignorespaces
}%
%
\ifnum\EMminipages@n>\z@
\@tempdima\linewidth
\advance\@tempdima-\EMminipages@n\columnsep
\advance\@tempdima\columnsep
\divide \@tempdima \EMminipages@n
\Cfor{\edef\EMminipages@i{0}}{\EMminipages@i<\EMminipages@n}{}\do{%
\Incr\EMminipages@i
\expandafter\edef\csname EMminipages@w@\romannumeral \EMminipages@i\endcsname{\the\@tempdima}%
}%
\else
\expandafter\@for\expandafter\@@c\expandafter:\expandafter=#1\do{%
\Incr\EMminipages@n
\expandafter\edef\csname EMminipages@w@\romannumeral \EMminipages@n\endcsname{\@@c}%
\if *\@@c\Incr\EMminipages@m\fi
}%
\ifnum\EMminipages@m>\z@
\@tempdimc=\linewidth
\Cfor{\edef\EMminipages@i{0}}{\EMminipages@i<\EMminipages@n}{}\do{%
\Incr\EMminipages@i
\ifthenelse{\equal{\csname EMminipages@w@\romannumeral\EMminipages@i\endcsname}{*}}{%
}{%
\advance\@tempdimc-\csname EMminipages@w@\romannumeral\EMminipages@i\endcsname
}%
}%
\advance\@tempdimc-\EMminipages@n\columnsep
\advance\@tempdimc\columnsep
\divide \@tempdimc \EMminipages@m
%\typeout{EMminipages:*=\the\@tempdimc}%
\Cfor{\edef\EMminipages@i{0}}{\EMminipages@i<\EMminipages@n}{}\do{%
\Incr\EMminipages@i
\ifthenelse{\equal{\csname EMminipages@w@\romannumeral\EMminipages@i\endcsname}{*}}{%
\expandafter\edef\csname EMminipages@w@\romannumeral\EMminipages@i\endcsname{\the\@tempdimc}%
}{%
}%
}%
\fi
%\typeout{EMminipages@n=\EMminipages@n}%
%\typeout{linewidth=\EMminipages@totallinewidth}
% \Ifor*\i{1}{\EMminipages@n}\Do{\typeout{\i:\csname EMminipages@w@\romannumeral\i\endcsname}}%
\setlength{\@tempdima}{\EMminipages@totallinewidth}%
\Cfor{\edef\EMmp@i{0}}{\EMmp@i<\EMminipages@n}{}\do{%
\Incr\EMmp@i
\setlength{\@tempdima}{\@tempdima-\csname EMminipages@w@\romannumeral\EMmp@i\endcsname}%
}%
\ISub\EMminipages@n{1}\EMmp@tmp
\Div{1}{\EMmp@tmp}\EMmp@tmp
\setlength{\@tempdima}{\EMmp@tmp\@tempdima}%
\edef\EMminipages@sep{\the\@tempdima}%
%\typeout{kankaku=\the\@tempdima}%
\fi
\noindent
\edef\EMminipages@i{1}%
\@ifundefined{EMminipages@h}{%
\@ifundefined{EMminipages@keiryou}{%
\begin{minipage}[t]{\csname EMminipages@w@\romannumeral \EMminipages@i\endcsname}%
}{%
\setbox\EMminipages@box=\hbox\bgroup
\begin{minipage}[t]{\csname EMminipages@w@\romannumeral \EMminipages@i\endcsname}%
}%
}{%
\begin{minipage}[b][\EMminipages@h]{\csname EMminipages@w@\romannumeral \EMminipages@i\endcsname}%
}%
}
\def\endEMminipages{\@ignoretrue
\@ifundefined{EMminipages@keiryou}{%
\end{minipage}%
}{%
\end{minipage}\egroup
\@tempdima=\ht\EMminipages@box\advance\@tempdima\dp\EMminipages@box
%\typeout{EMminipages:height-\EMminipages@i=\the\@tempdima}%
\box\EMminipages@box
}%
\vspace{\dp\strutbox}\par}
\endinput
%
v 0.00$B&A(B 2007/07/23
v 0.01$B&A(B 2007/10/31
$BITMWIt$r:o=|(B
v 0.02$B&A(B 2008/01/09
tyuukai$B4D6-$N(B \tyuu $B$r(B EMminipages$B4D6-Fb$G;HMQ2D$H$9$k!#(B
v 0.03$B&A(B 2010/04/13
$BH>3Q6uGr$N=|5n(B