0
|
1 % Copyright (C) 1995,1996,1997,1998,1999,2000,2001,2002
|
|
2 % by Hiroshi Nakashima, Yasuki Saito and
|
|
3 % The Editorial Board of the IPSJ Journal
|
|
4 %
|
|
5 % ipsjpapers.sty 03-Apr-06 by Hiroshi Nakashima (ver 2.10)
|
|
6 % (revision history deleted)
|
|
7 % ipsjpapers.sty 24-Apr-95 by Hiroshi Nakashima (ver 1.0)
|
|
8 % ipsjpapers.sty 30-Nov-93 by Hiroshi Nakashima
|
|
9 % ipsjpapers.sty 3-Feb-93 by Yaski Saito
|
|
10 % compsoft.sty 22-April-92 by Yaski Saito
|
|
11 % compsoft.sty 18-July-90 by Hideki Isozaki
|
|
12 % j-article.sty 10-Feb-89 from report.sty 16-Mar-88
|
|
13
|
|
14 %%%%%% LaTeX Version %%%%%%
|
|
15
|
|
16 % 2.00(1) >>
|
|
17 %% \ifASCII is true if ASCII version Japanese TeX, which doesn't have
|
|
18 %% \jintercharskip (H.N.)
|
|
19 \newif\ifASCII \ASCIIfalse
|
|
20 \ifx\jintercharskip\undefined\ASCIItrue\fi
|
|
21 \newif\if@LaTeX@e \@LaTeX@efalse % 1.06(1)
|
|
22 \newif\if@LaTeX@eN \@LaTeX@eNfalse % 2.00(1)
|
|
23 \def\@tempa{LaTeX2e} % 1.06(1)
|
|
24 \ifx\fmtname\@tempa \@LaTeX@etrue % 1.06(1)
|
|
25 \ifx\xpt\undefined \@LaTeX@eNtrue \fi\fi % 2.00(1)
|
|
26 % 2.00(1) <<
|
|
27
|
|
28
|
|
29
|
|
30 %%%%%% Document Styles %%%%%%
|
|
31
|
|
32 % 2.00(2) >>
|
|
33 \newif\ifDS@printer \DS@printerfalse
|
|
34 \newif\ifDS@english \DS@englishfalse
|
|
35 \newif\ifDS@technote \DS@technotefalse
|
|
36 \newif\ifDS@preface \DS@prefacefalse
|
|
37 \newif\ifDS@draft \DS@draftfalse
|
|
38 \newif\ifDS@techrep \DS@techrepfalse % 1.05(2)
|
|
39 \newif\ifDS@sigrecommended \DS@sigrecommendedfalse % 2.04(1)
|
|
40 \newif\ifDS@invited \DS@invitedfalse % 2.06(1)
|
|
41 \newif\ifDS@abstract \DS@abstractfalse % 2.07(7)
|
|
42 \newif\ifDS@private \DS@privatefalse % 2.07(8)
|
|
43 \newif\ifDS@anonymous \DS@anonymousfalse % 2.10(1)
|
|
44
|
|
45 \if@LaTeX@eN
|
|
46 \DeclareOption{printer}{\relax} % 2.09(1)
|
|
47 \DeclareOption{english}{\DS@englishtrue}
|
|
48 \DeclareOption{technote}{\DS@technotetrue}
|
|
49 \DeclareOption{preface}{\DS@prefacetrue}
|
|
50 \DeclareOption{draft}{\DS@drafttrue}
|
|
51 \DeclareOption{techrep}{\DS@techreptrue}
|
|
52 \DeclareOption{sigrecommended}{\DS@sigrecommendedtrue} % 2.04(1)
|
|
53 \DeclareOption{invited}{\DS@invitedtrue} % 2.06(1)
|
|
54 \DeclareOption{abstract}{\DS@abstracttrue} % 2.07(7)
|
|
55 \DeclareOption{private}{\DS@privatetrue} % 2.07(8)
|
|
56 \DeclareOption{anonymous}{\DS@anonymoustrue} % 2.10(1)
|
|
57 \DeclareOption{10pt}{\def\@ptsize{0}}
|
|
58 \DeclareOption{11pt}{\def\@ptsize{1}}
|
|
59 \DeclareOption{12pt}{\def\@ptsize{2}}
|
|
60 \ExecuteOptions{10pt}
|
|
61 \ProcessOptions
|
|
62 \def\ipsj@warning{\ClassWarning{ipsjpapers}} % 2.00(3)
|
|
63 \def\ipsj@error{\ClassError{ipsjpapers}} % 2.00(3)
|
|
64 \newskip \old@latex@skip % 2.00(14)
|
|
65 \let\@maxsep\old@latex@skip % 2.00(14)
|
|
66 \let\@dblmaxsep\old@latex@skip % 2.00(14)
|
|
67
|
|
68 \else
|
|
69 \expandafter\ifx\csname ver@ipsjpapers.cls\endcsname\relax
|
|
70 \typeout{Document Style `ipsjpapers' (ver 2.10) <03 Apr 2006>.} % 2.05(1)
|
|
71 \fi
|
|
72
|
|
73 \def\ds@printer{\relax} % 2.09(1)
|
|
74 \def\ds@english{\DS@englishtrue}
|
|
75 \def\ds@technote{\DS@technotetrue}
|
|
76 \def\ds@preface{\DS@prefacetrue}
|
|
77 \def\ds@draft{\DS@drafttrue}
|
|
78 \def\ds@techrep{\DS@techreptrue} % 1.05(2)
|
|
79 \def\ds@sigrecommended{\DS@sigrecommendedtrue} % 2.04(1)
|
|
80 \def\ds@invited{\DS@invitedtrue} % 2.06(1)
|
|
81 \def\ds@abstract{\DS@abstracttrue} % 2.07(7)
|
|
82 \def\ds@private{\DS@privatetrue} % 2.07(8)
|
|
83 \def\ds@anonymous{\DS@anonymoustrue} % 2.10(1)
|
|
84
|
|
85 % 1.04(3)>>
|
|
86 \def\@ptsize{0}
|
|
87 \@namedef{ds@11pt}{\def\@ptsize{1}}
|
|
88 \@namedef{ds@12pt}{\def\@ptsize{2}}
|
|
89 % 1.04(3)<<
|
|
90
|
|
91 \@options
|
|
92 \let\ipsj@warning\@warning % 2.00(3)
|
|
93 \let\@latex@warning\@warning % 2.00(3)
|
|
94 \def\ipsj@error#1#2{\errhlp{#2}\errmessge{#1}} % 2.00(3)
|
|
95 \fi
|
|
96 % 2.00(2) <<
|
|
97
|
|
98 \ifx\@classoptionslist\undefined\else % 2.03(1) >>
|
|
99 \def\ipsj@draft@option{draft}
|
|
100 \def\ipsj@remove@draft@option{\def\@tempb{}%
|
|
101 \@for\@tempa:=\@classoptionslist\do{%
|
|
102 \ifx\@tempa\ipsj@draft@option\else
|
|
103 \edef\@tempb{\@tempb,\@tempa}\fi}%
|
|
104 \ifx\@tempb\@empty \def\@classoptionslist{}\else
|
|
105 \expandafter\ipsj@remove@draft@ption\@tempb\@nil\fi}
|
|
106 \def\ipsj@remove@draft@ption,#1\@nil{%
|
|
107 \def\@classoptionslist{#1}}
|
|
108 \ipsj@remove@draft@option
|
|
109 \fi % 2.03(1) <<
|
|
110
|
|
111 %%%%%% Basics %%%%%%
|
|
112
|
|
113 \newdimen\@Q \@Q=0.25mm
|
|
114
|
|
115 \lineskip\z@ \normallineskip\z@
|
|
116 \lineskiplimit\z@ \normallineskiplimit\z@
|
|
117 \abovedisplayskip\z@ \belowdisplayskip\z@
|
|
118 \abovedisplayshortskip\z@ \belowdisplayshortskip\z@
|
|
119
|
|
120 \def\baselinestretch{1}
|
|
121 \jot\z@
|
|
122
|
|
123 \ifDS@draft\def\next{\input{ipsjdrafts.sty}\endinput}\else\let\next\relax\fi
|
|
124 \next
|
|
125
|
|
126 \@twosidetrue
|
|
127
|
|
128 %%%%%% Fonts %%%%%%
|
|
129 % \finvedm(dg) dm5 \vpt \tiny fn-mark
|
|
130 % \sixdm(dg) dm6 \vipt \scriptsize
|
|
131 % \sevendm(dg) dm7 \vipt \footnotesize f-note, capt
|
|
132 % 10Q = 7.11304pt -> w(min7) = 6.73550pt
|
|
133 % \eightdm(dg) dm8 \viiipt \small abst, header
|
|
134 % 11Q = 7.82434pt -> w(min8) = 7.69772pt
|
|
135 % \eightdm(dg)half dm9 \ixpt \normalsize main text
|
|
136 % 12Q = 8.53564pt -> w(min9) = 8.65994
|
|
137 % \tendm(dg) dm10 \xpt \large sec title
|
|
138 % 13Q = 9.24695pt -> w(min10) = 9.62216pt
|
|
139 % \tendm(dg)half dm10*1095 \xipt \Large author names
|
|
140 % 15Q =10.66956pt -> w(min10*1095) = 10.53625pt
|
|
141 % (\twlvdm) (dm12) \xiipt \LARGE e-title
|
|
142 % \twelvedm(dg)half dm12*1095 \xivpt \huge title
|
|
143 % min10*1440
|
|
144 % 18Q =12.80347pt -> w(min10*1440) = 13.8559pt
|
|
145 %
|
|
146 % Note that cm fonts follows LaTeX standard. (e.g. \viiipt -> cmr8, etc.)
|
|
147
|
|
148 % 2.00(4)>>
|
|
149 \if@LaTeX@e
|
|
150 \ifASCII
|
|
151 \def\ipsj@declare@font#1#2#3{{\fontsize{#3}{\z@}#2\selectfont % 2.00(5)>>
|
|
152 \edef\@tempa{\the\jfont}
|
|
153 \expandafter\global\expandafter\let\expandafter#1\@tempa}} % 2.00(5)<<
|
|
154
|
|
155 \ifDS@printer % ASCII LaTeX2e printer
|
|
156 \DeclareFontShape{JY1}{mc}{m}{n}{%
|
|
157 <5> sfixed* [5.175] min5 % 7Q/w5 = 4.97922/4.81108=1.035
|
|
158 <6> sfixed* [5.916] min6 % 8Q/w6 = 5.69055/5.77328=0.986
|
|
159 <7> sfixed* [7.392] min7 %10Q/w7 = 7.11304/6.73550=1.056
|
|
160 <8> sfixed* [8.128] min8 %11Q/w8 = 7.82434/7.69772=1.016
|
|
161 <9> sfixed* [8.872] min8 %12Q/w8 = 8.53564/7.69772=1.109
|
|
162 <10> sfixed* [9.610] min10 %13Q/w10= 9.24695/9.62216=0.961
|
|
163 <10.95> sfixed* [11.09] min10 %15Q/w10=10.66956/9.62216=1.109
|
|
164 <12> sfixed* [11.83] min10 %16Q/w10=11.38110/9.62216=1.183
|
|
165 <14.4> sfixed* [13.31] min10 %18Q/w10=12.80347/9.62216=1.331
|
|
166 }{}
|
|
167 \DeclareFontShape{JY1}{gt}{m}{n}{%
|
|
168 <5> sfixed* [5.175] goth5 % 7Q/w5 = 4.97922/4.81108=1.035
|
|
169 <6> sfixed* [5.916] goth6 % 8Q/w6 = 5.69055/5.77328=0.986
|
|
170 <7> sfixed* [7.392] goth7 %10Q/w7 = 7.11304/6.73550=1.056
|
|
171 <8> sfixed* [8.128] goth8 %11Q/w8 = 7.82434/7.69772=1.016
|
|
172 <9> sfixed* [8.872] goth8 %12Q/w8 = 8.53564/7.69772=1.109
|
|
173 <10> sfixed* [9.610] goth10 %13Q/w10= 9.24695/9.62216=0.961
|
|
174 <10.95> sfixed* [11.09] goth10 %15Q/w10=10.66956/9.62216=1.109
|
|
175 <12> sfixed* [11.83] goth10 %16Q/w10=11.38110/9.62216=1.183
|
|
176 <14.4> sfixed* [13.31] goth10 %18Q/w10=12.80347/9.62216=1.331
|
|
177 }{}
|
|
178
|
|
179 \ipsj@declare@font\fn@fontvii\mcfamily\@vpt
|
|
180
|
|
181 %% The following fonts are out of NFSS scheme
|
|
182 \font\fn@fontv min5 scaled739 % 5Q/w5 = 3.55658/4.81108=0.739
|
|
183 \font\fn@fontvi min5 scaled887 % 6Q/w5 = 4.26790/4.81108=0.887
|
|
184 \font\fn@fontxv goth10 scaled1035 %14Q/w10= 9.95846/9.62216=1.035
|
|
185
|
|
186 \else % ASCII LaTeX2e non-printer
|
|
187 \ipsj@declare@font\fn@fontv\mcfamily\@vpt
|
|
188 \ipsj@declare@font\fn@fontvi\mcfamily\@vpt
|
|
189 \ipsj@declare@font\fn@fontvii\mcfamily\@vpt
|
|
190 \ipsj@declare@font\fn@fontxv\gtfamily\@xipt
|
|
191 \fi
|
|
192
|
|
193 \else % NTT LaTeX2e
|
|
194 \def\ipsj@declare@font#1#2#3{{\fontsize{#3}{\z@}#2\selectfont % 2.00(5)
|
|
195 \xdef#1{\expandafter\noexpand\csname\jf@ntn@me\endcsname}}} % 2.00(5)
|
|
196 \ipsj@declare@font\fn@fontv\dm\@vpt
|
|
197 \ipsj@declare@font\fn@fontvi\dm\@vpt
|
|
198 \ipsj@declare@font\fn@fontvii\dm\@vpt
|
|
199 \ipsj@declare@font\fn@fontxv\dg\@xipt
|
|
200 \fi
|
|
201 % 2.00(4) <<
|
|
202
|
|
203 \else % LaTeX 2.09 % 2.00(4)
|
|
204 %% Fonts for ASCII TeX. (H.N.)
|
|
205 \ifASCII
|
|
206 \ifDS@printer
|
|
207 \font\fn@fontv min5 scaled739 % 5Q/w5 = 3.55658/4.81108=0.739
|
|
208 \font\fn@fontvi min5 scaled887 % 6Q/w5 = 4.26790/4.81108=0.887
|
|
209 \font\fivedm min5 scaled1035 % 7Q/w5 = 4.97922/4.81108=1.035
|
|
210 \font\fivedg goth5 scaled1035
|
|
211 \font\sixdm min6 scaled986 % 8Q/w6 = 5.69055/5.77328=0.986
|
|
212 \font\sixdg goth6 scaled986
|
|
213 \font\sevendm min7 scaled1056 %10Q/w7 = 7.11304/6.73550=1.056
|
|
214 \font\sevendg goth7 scaled1056
|
|
215 \font\eightdm min8 scaled1016 %11Q/w8 = 7.82434/7.69772=1.016
|
|
216 \font\eightdg goth8 scaled1016
|
|
217 \font\eightdmhalf min8 scaled1109 %12Q/w8 = 8.53564/7.69772=1.109
|
|
218 \font\eightdghalf goth8 scaled1109
|
|
219 \font\tendm min10 scaled961 %13Q/w10= 9.24695/9.62216=0.961
|
|
220 \font\tendg goth10 scaled961
|
|
221 \font\fn@fontxv goth10 scaled1035 %14Q/w10= 9.95846/9.62216=1.035
|
|
222 \font\tendmhalf min10 scaled1109 %15Q/w10=10.66956/9.62216=1.109
|
|
223 \font\tendghalf goth10 scaled1109
|
|
224 \font\twelvedm min10 scaled1183 %16Q/w10=11.38110/9.62216=1.183
|
|
225 \font\twelvedg goth10 scaled1183
|
|
226 \font\twelvedmhalf min10 scaled1331 %18Q/w10=12.80347/9.62216=1.331
|
|
227 \font\twelvedghalf goth10 scaled1331
|
|
228 \let\fn@fontvii\fivedm
|
|
229
|
|
230 \else
|
|
231 \font\fivedm min5
|
|
232 \font\fivedg goth5
|
|
233 \font\sixdm min6
|
|
234 \font\sixdg goth6
|
|
235 \font\sevendm min7
|
|
236 \font\sevendg goth7
|
|
237 \font\eightdm min8
|
|
238 \font\eightdg goth8
|
|
239 \font\eightdmhalf min9
|
|
240 \font\eightdghalf goth9
|
|
241 \font\tendm min10
|
|
242 \font\tendg goth10
|
|
243 \font\tendmhalf min10 scaled\magstephalf
|
|
244 \font\tendghalf goth10 scaled\magstephalf
|
|
245 \font\twelvedm min10 scaled\magstep1
|
|
246 \font\twelvedg goth10 scaled\magstep1
|
|
247 \font\twelvedmhalf min10 scaled\magstep2
|
|
248 \font\twelvedghalf goth10 scaled\magstep2
|
|
249 \let\fn@fontv\fivedm
|
|
250 \let\fn@fontvi\fivedm
|
|
251 \let\fn@fontvii\fivedm
|
|
252 \let\fn@fontxv\tendghalf
|
|
253
|
|
254 \fi
|
|
255
|
|
256 %% ASCII doesn't have \old@Npt. (H.N.)
|
|
257 \let\old@@vpt\vpt
|
|
258 \let\old@@vipt\vipt
|
|
259 \let\old@@viipt\viipt
|
|
260 \let\old@@viiipt\viiipt
|
|
261 \let\old@@ixpt\ixpt
|
|
262 \let\old@@xpt\xpt
|
|
263 \let\old@@xipt\xipt
|
|
264 \let\old@@xiipt\xiipt
|
|
265 \let\old@@xivpt\xivpt
|
|
266
|
|
267 \def\old@vpt{\old@@vpt\jspaceskip1zw\relax}
|
|
268 \def\old@vipt{\old@@vipt\jspaceskip1zw\relax}
|
|
269 \def\old@viipt{\old@@viipt\jspaceskip1zw\relax}
|
|
270 \def\old@viiipt{\old@@viiipt\jspaceskip1zw\relax}
|
|
271 \def\old@ixpt{\old@@ixpt\jspaceskip1zw\relax}
|
|
272 \def\old@xpt{\old@@xpt\jspaceskip1zw\relax}
|
|
273 \def\old@xipt{\old@@xipt\jspaceskip1zw\relax}
|
|
274 \def\old@xiipt{\old@@xiipt\jspaceskip1zw\relax}
|
|
275 \def\old@xivpt{\old@@xivpt\jspaceskip1zw\relax}
|
|
276
|
|
277 % 2.00(6)
|
|
278 % 1.06(2)
|
|
279
|
|
280 %% ASCII doesn't have \dg nor \dm. (H.N.)
|
|
281 \def\dg{\protect\pdg}
|
|
282 \def\dm{\protect\pdm}
|
|
283 %% Redefine \gt and \mc
|
|
284 \def\gt{\protect\pdg}
|
|
285 \def\mc{\protect\pdm}
|
|
286 \let\pdm\relax
|
|
287
|
|
288 \else
|
|
289 %% Fonts for NTT jTeX
|
|
290 %% \magstephalf and \magstep1 may cause trouble in older versions.
|
|
291
|
|
292 \jfont\fivedm=dm5
|
|
293 \jfont\fivedg=dg5
|
|
294 \jfont\sixdm=dm6
|
|
295 \jfont\sixdg=dg6
|
|
296 \jfont\sevendm=dm7
|
|
297 \jfont\sevendg=dg7
|
|
298 \jfont\eightdm=dm8
|
|
299 \jfont\eightdg=dg8
|
|
300 \jfont\eightdmhalf=dm9
|
|
301 \jfont\eightdghalf=dg9
|
|
302 \jfont\tendm=dm10
|
|
303 \jfont\tendg=dg10
|
|
304 \jfont\tendmhalf=dm10 scaled 1095
|
|
305 \jfont\tendghalf=dg10 scaled 1095
|
|
306 \jfont\twelvedm=dm12
|
|
307 \jfont\twelvedg=dg12
|
|
308 \jfont\twelvedmhalf=dm12 scaled 1095
|
|
309 \jfont\twelvedghalf=dg12 scaled 1095
|
|
310 \let\fn@fontv\fivedm
|
|
311 \let\fn@fontvi\fivedm
|
|
312 \let\fn@fontvii\fivedm
|
|
313 \let\fn@fontxv\tendghalf
|
|
314 % 1.06(3)
|
|
315 \fi
|
|
316 \fi
|
|
317
|
|
318 \ifx\jfsize\undefined \newcount\jfsize \fi % 1.06(2)
|
|
319
|
|
320 \ifASCII % 1.06(3),2.00(6)>>
|
|
321 \let\setjglues\relax
|
|
322 \let\jintercharskip\kanjiskip
|
|
323 \let\jasciikanjiskip\xkanjiskip
|
|
324 \let\jmathkanjiskip\xkanjiskip
|
|
325 \newdimen\jspaceskip
|
|
326
|
|
327 \def\defjintercharskip#1#2#3#4{\@asciiwarning{\defjintercharskip}}
|
|
328 \def\defjasciikanjiskip#1#2#3#4{\@asciiwarning{\defjasciicharskip}}
|
|
329 \def\defmathkanjiskip#1#2#3#4{\@asciiwarning{\defmathcharskip}}
|
|
330 \def\defjspaceskip#1#2#3#4{\@asciiwarning{\defjspaceskip}}
|
|
331
|
|
332 \def\@asciiwarning#1{\ipsj@warning{\string#1\space % 2.00(3)
|
|
333 is not supported in ASCII version}}
|
|
334 % 1.06(3),2.00(6)<<
|
|
335 \else % 2.00(7)>>
|
|
336 \if@LaTeX@e
|
|
337 \ipsj@declare@font\fn@eightdmhalf\dm\@ixpt
|
|
338 \ipsj@declare@font\fn@eightdghalf\dg\@ixpt
|
|
339 \else
|
|
340 \def\fn@eightdmhalf{\eightdmhalf}
|
|
341 \def\fn@eightdghalf{\eightdghalf}
|
|
342 \fi
|
|
343 \ifx\setjglues\undefined\else
|
|
344 \expandafter\defjintercharskip\fn@eightdmhalf{0pt}{1.4pt}{0.5pt}
|
|
345 \expandafter\defjintercharskip\fn@eightdghalf{0pt}{1.4pt}{0.5pt}
|
|
346 \expandafter\defjasciikanjiskip\fn@eightdmhalf{2pt}{1pt}{1pt}
|
|
347 \expandafter\defjasciikanjiskip\fn@eightdghalf{2pt}{1pt}{1pt}
|
|
348 \expandafter\defjmathkanjiskip\fn@eightdmhalf{2pt}{1pt}{1pt}
|
|
349 \expandafter\defjmathkanjiskip\fn@eightdghalf{2pt}{1pt}{1pt}
|
|
350 \fi % 2.00(7)<<
|
|
351 \fi % 2.00(4)
|
|
352
|
|
353 \if@LaTeX@e % 2.00(8)>>
|
|
354 \if@LaTeX@eN
|
|
355 \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
|
|
356 \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
|
|
357 \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
|
|
358 \DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
|
|
359 \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
|
|
360 \DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
|
|
361 \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
|
|
362 \DeclareRobustCommand*{\cal}{\@fontswitch{\relax}{\mathcal}}
|
|
363 \DeclareRobustCommand*{\mit}{\@fontswitch{\relax}{\mathnormal}}
|
|
364 \ifASCII
|
|
365 \DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{\mathmc}
|
|
366 \DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{\mathgt}
|
|
367 \fi\fi
|
|
368 \ifASCII
|
|
369 \def\dm{\mc}
|
|
370 \def\dg{\gt}
|
|
371 \fi\fi % 2.00(8)<<
|
|
372
|
|
373 %%%%%% Basic Font Size Macros %%%%%%
|
|
374
|
|
375 \if@LaTeX@e % 1.06(4),2.00(9),2.04(3)>>
|
|
376 \def\@setsize#1#2#3#4{\@setfontsize#1{#4}{#2}\ipsj@setjspaceskip}
|
|
377 \ifASCII
|
|
378 \def\ipsj@setjspaceskip{\jspaceskip1zw\relax}
|
|
379 \else
|
|
380 \let\ipsj@setjspaceskip\relax
|
|
381 \fi % 1.06(4),2.00(9),2.04(3)<<
|
|
382
|
|
383 %% \vipt etc. are redefined to use appropriate Japanese fonts.
|
|
384 \else % 2.00(9)
|
|
385 \def\vpt{\old@vpt\fivedm\let\pdg\fivedg\let\pdm\fivedm\jfsize=5\relax}
|
|
386 \def\vipt{\old@vipt\sixdm\let\pdg\sixdg\let\pdm\sixdm\jfsize=6\relax}
|
|
387 \def\viipt{\old@viipt\sevendm\let\pdg\sevendg\let\pdm\sevendm\jfsize=7\relax}
|
|
388 \def\viiipt{\old@viiipt\eightdm\let\pdg\eightdg\let\pdm\eightdm\jfsize=8\relax}
|
|
389 \def\ixpt{\old@ixpt\eightdmhalf\let\pdg\eightdghalf\let\pdm\eightdmhalf
|
|
390 \jfsize=9\relax \@ixptboldmath} % 1.02(2)
|
|
391 \def\xpt{\old@xpt\tendm\let\pdg\tendg\let\pdm\tendm\jfsize=10\relax}
|
|
392 \def\xipt{\old@xipt\tendmhalf\let\pdg\tendghalf\let\pdm\tendmhalf\jfsize=11
|
|
393 \relax}
|
|
394 \def\xiipt{\old@xiipt\twelvedm\let\pdg\twelvedg\let\pdm\twelvedm
|
|
395 \jfsize=12\relax}
|
|
396 \def\xivpt{\old@xivpt\twelvedmhalf\let\pdg\twelvedghalf\let\pdm\twelvedmhalf
|
|
397 \jfsize=14\relax}
|
|
398 \fi % 2.00(9)
|
|
399
|
|
400 \if@LaTeX@e % 1.06(5)
|
|
401 \let\@ixptboldmath\relax % 1.06(5)
|
|
402 \else % 1.06(5)
|
|
403 % 1.02(2) >>
|
|
404 \ifDS@printer
|
|
405 \def\@ixptboldmath{%
|
|
406 \def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
|
|
407 \textfont\@ne\ninmi
|
|
408 \textfont\tw@\ninsy \textfont\lyfam\ninly
|
|
409 \@boldfalse}\@boldfalse
|
|
410 \def\boldmath{\@ifundefined{ninmib}{%
|
|
411 \global\font\ninmib\@mbi\@ptscale9\relax
|
|
412 \global\font\ninsyb\@mbsy\@ptscale9\relax
|
|
413 \global\font\ninlyb\@lasyb\@ptscale9\relax
|
|
414 \@addfontinfo\@ixpt
|
|
415 {\def\boldmath{\everymath{\mit}\everydisplay{\mit}%
|
|
416 \@prtct\@nomathbold
|
|
417 \textfont\@ne\ninmib \textfont\tw@\ninsyb
|
|
418 \textfont\lyfam\ninlyb \@prtct\@boldtrue}}}{}%
|
|
419 \@ixpt\boldmath}}
|
|
420 \else
|
|
421 \def\@ixptboldmath{%
|
|
422 \def\unboldmath{\everymath{}\everydisplay{}\@nomath\unboldmath
|
|
423 \textfont\@ne\ninmi
|
|
424 \textfont\tw@\ninsy \textfont\lyfam\ninly
|
|
425 \@boldfalse}\@boldfalse
|
|
426 % 1.03(1) >>
|
|
427 \def\boldmath{\@ifundefined{ninmib}{\global\font\ninmib\@mbi
|
|
428 \global\font\ninsyb\@mbsy\relax
|
|
429 \global\font\ninlyb\@lasyb\relax
|
|
430 \@addfontinfo\@ixpt
|
|
431 {\def\boldmath{\everymath{\mit}\everydisplay{\mit}%
|
|
432 \@prtct\@nomathbold
|
|
433 \textfont\@ne\ninmib \textfont\tw@\ninsyb
|
|
434 \textfont\lyfam\ninlyb \@prtct\@boldtrue}}}{}%
|
|
435 \@ixpt\boldmath}}
|
|
436 % 1.03(1) <<
|
|
437 \fi
|
|
438 % 1.02(2) <<
|
|
439 \fi % 1.06(5)
|
|
440
|
|
441
|
|
442 %%%%%% Font Size Macros %%%%%%
|
|
443
|
|
444 \def\fs@setsize#1#2#3#4{\normalsize\dimen@\normalbaselineskip
|
|
445 \@ifstar{\@setsize{#1}{\dimen@}{#3}{#4}}%
|
|
446 {\@setsize{#1}{#2}{#3}{#4}}}
|
|
447
|
|
448 % s = (3*b - (h' + d') - (h + d))/2
|
|
449 % s_a = s + h' + d - b
|
|
450 % s_b = s + h + d' - b
|
|
451 \def\sec@setskips#1{\setbox0\hbox{\fs@sec\bf#1}\setbox1\hbox{#1}
|
|
452 \@tempdima3\baselineskip
|
|
453 \advance\@tempdima-\ht0 \advance\@tempdima-\dp0
|
|
454 \advance\@tempdima-\ht1 \advance\@tempdima-\dp1
|
|
455 \divide\@tempdima\tw@ \advance\@tempdima-\baselineskip
|
|
456 \@tempdimb\@tempdima
|
|
457 \advance\@tempdima\ht0 \advance\@tempdima\dp1
|
|
458 \advance\@tempdimb\ht1 \advance\@tempdimb\dp0
|
|
459 \edef\sec@aboveskip{\the\@tempdima}
|
|
460 \edef\sec@belowskip{\the\@tempdimb}}
|
|
461
|
|
462 \ifDS@english
|
|
463 % size pt \baselineskip size \?pt \baselineskip
|
|
464 % \normalsize 10 16Q \large 11 18Q (*)
|
|
465 % \small 9 15Q \Large 12 22Q
|
|
466 % \footnotesize 8 13Q \LARGE 14 26Q (*)
|
|
467 % \scriptsize 6 8pt (*) \huge 18 30Q (*)
|
|
468 % \tiny 5 6pt (*) \Huge 18 30Q (*)
|
|
469 % * : not measured
|
|
470
|
|
471 \def\@normalsize{\@setsize\normalsize{16\@Q}\xpt\@xpt}
|
|
472 \def\small{\fs@setsize\small{15\@Q}\ixpt\@ixpt}
|
|
473 \def\footnotesize{\fs@setsize\footnotesize{13\@Q}\viiipt\@viiipt}
|
|
474 \def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt}
|
|
475 \def\tiny{\@setsize\tiny{6pt}\vpt\@vpt}
|
|
476 \def\large{\@setsize\Large{18\@Q}\xipt\@xipt}
|
|
477 \def\Large{\@setsize\LARGE{22\@Q}\xiipt\@xiipt}
|
|
478 \def\LARGE{\@setsize\LARGE{26\@Q}\xivpt\@xivpt}
|
|
479 \def\huge{\@setsize\Huge{30\@Q}\xviipt\@xviipt}
|
|
480 \let\Huge\huge
|
|
481
|
|
482 \ifDS@techrep % 1.05(2)>>
|
|
483 \def\@normalsize{\@setsize\normalsize{17\@Q}\xpt\@xpt}
|
|
484 \fi % 1.05(2)<<
|
|
485
|
|
486 \if@LaTeX@e % 2.00(10)>>
|
|
487 \let\normalsize\@normalsize
|
|
488 \fi % 2.00(10)<<
|
|
489
|
|
490 \let\fs@footnote\footnotesize
|
|
491 \let\fs@caption\footnotesize
|
|
492 \let\fs@table\footnotesize
|
|
493 \let\fs@eabst\footnotesize
|
|
494 \let\fs@header\footnotesize
|
|
495 \let\fs@footer\footnotesize
|
|
496 \let\fs@bibliography\small
|
|
497 \let\fs@subsec\normalsize
|
|
498 \let\fs@sec\normalsize
|
|
499 \let\fs@type\large
|
|
500 \let\fs@eauthor\large
|
|
501 \let\fs@title\Large
|
|
502
|
|
503 \@normalsize
|
|
504
|
|
505 \sec@setskips{A}
|
|
506
|
|
507 \else
|
|
508 % size pt \baselineskip size \?pt \baselineskip
|
|
509 % \normalsize 9 19Q \large 10 19Q
|
|
510 % \small 8 14Q \Large 11 22Q
|
|
511 % \footnotesize 7 14Q \LARGE 12 18Q
|
|
512 % \scriptsize 6 8pt (*) \huge 14 26Q
|
|
513 % \tiny 5 6pt (*) \Huge 14 26Q
|
|
514 % * : not measured
|
|
515
|
|
516 \def\@normalsize{\@setsize\normalsize{19\@Q}\ixpt\@ixpt}
|
|
517 \def\small{\fs@setsize\small{14\@Q}\viiipt\@viiipt}
|
|
518 \def\footnotesize{\fs@setsize\footnotesize{14\@Q}\viipt\@viipt}
|
|
519 \def\scriptsize{\@setsize\scriptsize{8pt}\vipt\@vipt}
|
|
520 \def\tiny{\@setsize\tiny{6pt}\vpt\@vpt}
|
|
521 \def\large{\@setsize\large{19\@Q}\xpt\@xpt}
|
|
522 \def\Large{\@setsize\Large{22\@Q}\xipt\@xipt}
|
|
523 \def\LARGE{\@setsize\LARGE{18\@Q}\xiipt\@xiipt}
|
|
524 \def\huge{\@setsize\Huge{26\@Q}\xivpt\@xivpt}
|
|
525 \let\Huge\huge
|
|
526
|
|
527 \ifDS@techrep % 1.05(2)>>
|
|
528 \def\@normalsize{\@setsize\normalsize{17\@Q}\ixpt\@ixpt}
|
|
529 \fi % 1.05(2)<<
|
|
530
|
|
531 \if@LaTeX@e % 2.00(10)>>
|
|
532 \let\normalsize\@normalsize
|
|
533 \fi % 2.00(10)<<
|
|
534
|
|
535 \let\fs@footnote\footnotesize
|
|
536 \let\fs@caption\footnotesize
|
|
537 \let\fs@table\footnotesize
|
|
538 \let\fs@abst\small
|
|
539 \def\fs@eabst{\small\baselineskip13\@Q}
|
|
540 \let\fs@header\small
|
|
541 \let\fs@footer\small
|
|
542 \let\fs@subsec\normalsize
|
|
543 \def\fs@bibliography{\normalsize\baselineskip16\@Q}
|
|
544 \let\fs@sec\large
|
|
545 \let\fs@type\fn@fontxv
|
|
546 \let\fs@author\Large
|
|
547 \def\fs@eauthor{\Large\baselineskip15\@Q}
|
|
548 \let\fs@etitle\LARGE
|
|
549 \let\fs@title\huge
|
|
550
|
|
551 \@normalsize
|
|
552 % 2.00(7)
|
|
553 \ifx\setjglues\undefined\else
|
|
554 \setjglues
|
|
555 \fi
|
|
556
|
|
557 \sec@setskips{あ}
|
|
558
|
|
559 \fi
|
|
560
|
|
561 \if@LaTeX@e\else % 2.00(11)
|
|
562 \let\latex@bf\bf % 1.06(6)
|
|
563 \def\bf{\latex@bf \dg} % 1.06(6)
|
|
564 \fi % 2.00(11)
|
|
565
|
|
566
|
|
567 %%%%%% Page Layout Parameters %%%%%%
|
|
568
|
|
569 \newdimen\@mojihaba
|
|
570
|
|
571 \headheight 12\@Q
|
|
572
|
|
573 % We want to allow a line containing $\displaystyle X^X$ to be a first line.
|
|
574 \setbox0\hbox{$\displaystyle X^X$}
|
|
575 \topskip\ht0
|
|
576
|
|
577 \ifdim\maxdepth<\dp\strutbox \maxdepth\dp\strutbox \@maxdepth\maxdepth\fi
|
|
578
|
|
579 \@tempswafalse % 1.05(2)>>
|
|
580 \ifDS@english \ifDS@techrep \else \@tempswatrue \fi\fi
|
|
581 \if@tempswa % 1.05(2)<<
|
|
582 \topmargin 138\@Q \advance\topmargin-1in
|
|
583
|
|
584 % \textheight = 53\baselineskip + \topskip + epsilon(100sp)
|
|
585 \textheight53\baselineskip \advance\textheight\topskip \advance\textheight100sp
|
|
586
|
|
587 % \headsep = 24Q - \topskip
|
|
588 \headsep28\@Q \advance\headsep-\topskip % 2.02(2)
|
|
589
|
|
590 % Only first page has page number (footer) at the bottom
|
|
591 \footskip 27\@Q
|
|
592
|
|
593 \@mojihaba13\@Q
|
|
594
|
|
595 \else
|
|
596 \topmargin 131\@Q \advance\topmargin-1in
|
|
597
|
|
598 % \textheight = 45\baselineskip + \topskip + epsilon(100sp)
|
|
599 \textheight45\baselineskip \advance\textheight\topskip \advance\textheight100sp
|
|
600
|
|
601 \ifDS@techrep % 1.05(2)>>
|
|
602 \textheight50\baselineskip \advance\textheight\topskip \advance\textheight100sp
|
|
603 \fi % 1.05(2)<<
|
|
604
|
|
605 % \headsep = 28Q - \topskip
|
|
606 \headsep28\@Q \advance\headsep-\topskip
|
|
607
|
|
608 % Only first page has page number (footer) at the bottom
|
|
609 \footskip24\@Q
|
|
610
|
|
611 \@mojihaba12\@Q
|
|
612 \fi
|
|
613
|
|
614 \columnsep30\@Q
|
|
615
|
|
616 % \textwidth - \columnwidth = 24 * 12Q * 2 + \columnsep = 606Q
|
|
617 \textwidth606\@Q
|
|
618 \columnseprule0pt
|
|
619
|
|
620 \oddsidemargin210mm \advance\oddsidemargin-\textwidth \divide\oddsidemargin\tw@
|
|
621 \advance\oddsidemargin-1in \evensidemargin\oddsidemargin
|
|
622
|
|
623 \skip\footins\baselineskip \advance\skip\footins-.5\@mojihaba
|
|
624 % \footnotesep = \baselineskip - depth(\strutbox)
|
|
625 {\fs@footnote
|
|
626 \footnotesep\baselineskip
|
|
627 \global\advance\footnotesep-\dp\strutbox}
|
|
628
|
|
629 \def\footnoterule{{\fs@footnote\kern-\dp\strutbox \hrule \kern-.4\p@
|
|
630 \kern\dp\strutbox}}
|
|
631
|
|
632 \floatsep \baselineskip \textfloatsep \baselineskip
|
|
633 \intextsep \baselineskip \@maxsep \baselineskip
|
|
634 \dblfloatsep \baselineskip \dbltextfloatsep \baselineskip
|
|
635 \@dblmaxsep \baselineskip
|
|
636 \@fptop 0pt plus 1fil \@fpsep 0pt plus 2fil \@fpbot 0pt plus 1fil
|
|
637 \@dblfptop 0pt plus 1fil \@dblfpsep 0pt plus 2fil \@dblfpbot 0pt plus 1fil
|
|
638
|
|
639 \parskip\z@ \parindent\@mojihaba
|
|
640 \@lowpenalty 51 \@medpenalty 151 \@highpenalty 301
|
|
641 \@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty
|
|
642 \@itempenalty -\@lowpenalty
|
|
643
|
|
644
|
|
645 %%%%%% Title and Authors %%%%%%
|
|
646 %
|
|
647 % Format of title, author names and abstract.
|
|
648 %
|
|
649 % \huge\bf <Japanese title>
|
|
650 % \vskip 32Q
|
|
651 % \Large <Japanese author names>
|
|
652 % \vskip 32Q
|
|
653 % \small <Japanese abstract>
|
|
654 % \vskip 34Q
|
|
655 % \LARGE\bf <English title>
|
|
656 % \vskip 28Q
|
|
657 % \Large\sc <English author names>
|
|
658 % \vskip 28Q
|
|
659 % \small <English abstract>
|
|
660 % \vskip 25Q
|
|
661
|
|
662 % 2.07(3)>>
|
|
663 \def\ipsj@ohcheck#1#2#3{\fs@header\hskip12\@Q#1\qquad#2\qquad#3\hskip12\@Q}
|
|
664 \def\ipsj@ohcvolno{Vol.~00\hskip12\@Q No.~SIG\ 00(\ipsj@sig@code\ 00)}
|
|
665
|
|
666 \def\maketitle{\let\ipsj@oddhead@t\ipsj@oddhead@a
|
|
667 \ifipsj@trans
|
|
668 \settowidth\@tempdima{%
|
|
669 \ipsj@ohcheck\ipsj@ohcvolno\@titlestring\ipsj@ohcvolno}%
|
|
670 \ifdim\@tempdima>\textwidth
|
|
671 \let\ipsj@oddhead@t\ipsj@oddhead@b
|
|
672 \settowidth\@tempdima{%
|
|
673 \ipsj@ohcheck\ipsj@ohcvolno\@titlestring{000}}%
|
|
674 \ifdim\@tempdima>\textwidth
|
|
675 \ipsj@warning{% % 2.00(3)
|
|
676 \string\title\space for headding is too wide}%
|
|
677 \fi \fi
|
|
678 \else
|
|
679 \settowidth\@tempdima{\fs@header
|
|
680 \hskip12\@Q Vol.~00\hskip12\@Q No.~00\qquad\@titlestring\qquad
|
|
681 Vol.~00\hskip12\@Q No.~00\hskip12\@Q}
|
|
682 \ifdim\@tempdima>\textwidth
|
|
683 \ipsj@warning{% % 2.00(3)
|
|
684 \string\title\space for headding is too wide}%
|
|
685 \fi \fi
|
|
686 \par\twocolumn[\@maketitle]\thispagestyle{myheadings}\@thanks}
|
|
687 % 2.07(3)<<
|
|
688
|
|
689 % default title header
|
|
690
|
|
691 \def\title{\@dblarg{\@xtitle}}
|
|
692 \def\@xtitle[#1]#2{\gdef\@title{#2}%
|
|
693 {\def\protect{\noexpand\protect\noexpand}%
|
|
694 \ifDS@english\def\\{\unskip\ \ignorespaces}%
|
|
695 \else\def\\{\unskip\ignorespaces}\fi
|
|
696 \xdef\@titlestring{#1}}} % 2.07(3)
|
|
697
|
|
698 \def\@title{\mkt@warning\title}\def\@titlestring{}
|
|
699 \long\def\author#1{\long\gdef\@author{#1}}
|
|
700 \def\@author{\mkt@warning\author}
|
|
701
|
|
702 \newbox\@abstractbox
|
|
703 %% Introduce \@titlewidth because we now use this dimen repeatedly. (H.N.)
|
|
704 %% \@titlewidth = 44 * 11Q = 484Q
|
|
705 \newdimen\@titlewidth \@titlewidth 484\@Q
|
|
706
|
|
707 \def\abstract{\global\let\@abstract\relax
|
|
708 \global\setbox\@abstractbox\hbox\bgroup
|
|
709 \begin{minipage}[b]{\@titlewidth}\fs@abst\parindent11\@Q}
|
|
710 \def\endabstract{\end{minipage}\egroup}
|
|
711 \def\@abstract{\mkt@warning{abstract env}}
|
|
712
|
|
713 %% We need English title, author name(s) and abstract. (H.N.)
|
|
714 \def\etitle#1{\gdef\@etitle{#1}}
|
|
715 \def\@etitle{\mkt@warning\etitle}
|
|
716 \long\def\eauthor#1{\long\gdef\@eauthor{#1}}
|
|
717 \def\@eauthor{\mkt@warning\eauthor}
|
|
718
|
|
719 \newbox\@eabstractbox
|
|
720 \def\eabstract{\global\let\@eabstract\relax
|
|
721 \global\setbox\@eabstractbox\hbox\bgroup
|
|
722 \begin{minipage}[b]{\@titlewidth}\fs@eabst\parindent11\@Q}
|
|
723 \let\endeabstract\endabstract
|
|
724 \def\@eabstract{\mkt@warning{eabstract env}}
|
|
725
|
|
726 \ifDS@english
|
|
727 \let\author\eauthor \let\abstract\eabstract
|
|
728 \let\@eauthor\@author \let\@eabstract\@abstract
|
|
729 \fi
|
|
730
|
|
731 \def\mkt@warning#1{\ipsj@warning{Missing \string#1}} % 2.00(3)
|
|
732
|
|
733 \newdimen\mkt@prevdepth
|
|
734 \newbox\mkt@titlebox
|
|
735 \def\@maketitle{\setbox\mkt@titlebox\vbox{
|
|
736 \ifDS@english \ifDS@preface
|
|
737 \hbox{}\vskip60\@Q \vskip-\headsep \vskip-\baselineskip
|
|
738 \else
|
|
739 \hbox{}\vskip26\@Q \vskip-\headsep \vskip-\baselineskip
|
|
740 \leftline{\fs@type\it
|
|
741 \ifDS@technote Technical Note
|
|
742 \else\ifDS@invited Invited Paper % 2.06(1)
|
|
743 \else\ifDS@sigrecommended % 2.04(1)
|
|
744 Recommended Paper % 2.04(1)
|
|
745 \else\ifDS@abstract % 2.07(7)
|
|
746 Abstract % 2.07(7)
|
|
747 \else\ifDS@techrep\else % 2.02(1)
|
|
748 Regular Paper\fi\fi\fi\fi\fi} % 2.06(1)
|
|
749 % % 2.04(1)
|
|
750 \vskip32\@Q \vskip-\baselineskip \fi
|
|
751 \else % 2.04(1) >>
|
|
752 \@tempswafalse \ifDS@technote\@tempswatrue\fi
|
|
753 \ifDS@sigrecommended\@tempswatrue\fi
|
|
754 \ifDS@invited\@tempswatrue\fi % 2.06(1)
|
|
755 \ifDS@abstract\@tempswatrue\fi % 2.07(7)
|
|
756 \if@tempswa
|
|
757 \vskip18\@Q \vskip-\headsep
|
|
758 \leftline{\vbox to28\@Q{\hrule height.8pt\vss
|
|
759 \hbox{\hskip7\@Q \fs@type
|
|
760 \ifDS@technote テクニカルノート%
|
|
761 \else\ifDS@invited 招待論文% % 2.06(1)
|
|
762 \else\ifDS@sigrecommended
|
|
763 研究会推薦論文 % 2.06(1)
|
|
764 \else 発表概要\fi\fi\fi % 2.07(7)
|
|
765 \hskip7\@Q}\vss\hrule height.8pt}}
|
|
766 % % 2.04(1) <<
|
|
767 \vskip40\@Q \vskip-\baselineskip
|
|
768 \else
|
|
769 \hbox{}\vskip60\@Q \vskip-\headsep \vskip-\baselineskip
|
|
770 \fi\fi
|
|
771 \@tempswafalse \ifDS@english\else\ifDS@preface\@tempswatrue\fi\fi
|
|
772 \mkt@maketitle{\fs@title\bf}\@title\title
|
|
773 % 1.04(1a) >>
|
|
774 \ifnum\c@affi@footnote>\thr@@
|
|
775 \let\theaffi@footnote\theaffi@footnotemany \fi
|
|
776 \c@affi@footnote\z@
|
|
777 % 1.04(1a) <<
|
|
778 \affi@labels
|
|
779 \ifDS@english\else
|
|
780 \vskip-\mkt@prevdepth \nointerlineskip\vskip32\@Q
|
|
781 \centerline{\vbox{\centering\hsize\@titlewidth\fs@author
|
|
782 \mkt@makeauthor}}
|
|
783 \ifDS@preface\else
|
|
784 \vskip-\prevdepth \nointerlineskip\vskip32\@Q
|
|
785 \centerline{\@abstract\box\@abstractbox}
|
|
786 \vskip-\prevdepth \nointerlineskip\vskip34\@Q
|
|
787 \mkt@maketitle{\fs@etitle\bf}\@etitle\etitle
|
|
788 \fi\fi
|
|
789 \if@tempswa\else
|
|
790 \vskip-\mkt@prevdepth \nointerlineskip\vskip28\@Q
|
|
791 \centerline{\vbox{\centering\hsize\@titlewidth\fs@eauthor\sc
|
|
792 \mkt@makeeauthor}}
|
|
793 \fi
|
|
794 \ifDS@preface\else
|
|
795 \vskip-\prevdepth \nointerlineskip\vskip28\@Q
|
|
796 \centerline{\@eabstract\box\@eabstractbox}
|
|
797 \fi
|
|
798 \vskip-\prevdepth \nointerlineskip\vskip25\@Q}
|
|
799 \@tempdimb\ht\mkt@titlebox \advance\@tempdimb\dp\mkt@titlebox
|
|
800 \@tempcnta\@tempdimb \@tempcntb\baselineskip
|
|
801 \divide\@tempcnta\@tempcntb \@tempdima\@tempcnta\baselineskip
|
|
802 \advance\@tempdima-\@tempdimb
|
|
803 \box\mkt@titlebox
|
|
804 \ifdim\@tempdima=\z@\else\advance\@tempdima\baselineskip
|
|
805 \vskip\@tempdima\fi}
|
|
806
|
|
807 %% \mkt@maketitle puts Japanese/English title, whose lines should be
|
|
808 %% properly broken with \\ by the user. The result is flushed to left, then
|
|
809 %% centered with respect to the longest line. (H.N.)
|
|
810 \def\mkt@maketitle#1#2#3{\setbox\@tempboxa\vtop{
|
|
811 \def\\{\unskip\egroup\hbox\bgroup\ignorespaces}
|
|
812 #1\hbox\bgroup#2\unskip\egroup
|
|
813 \global\mkt@prevdepth\prevdepth}
|
|
814 \@tempdima\textwidth\advance\@tempdima-4\@mojihaba
|
|
815 \ifdim\wd\@tempboxa>\@tempdima
|
|
816 \ipsj@warning{% % 2.00(3)
|
|
817 \string#3 is too wide. Break line(s) by \string\\}\fi
|
|
818 \centerline{\box\@tempboxa}}
|
|
819
|
|
820 % Assignment of Japanese author names to lines:
|
|
821 % 1 -> 1, 2 -> 2, 3 -> 3, 4 -> 2+2, 5 -> 3+2, 6 -> 3+3, 7 -> 3+2+2, 8 -> 3+3+2,
|
|
822 % ...
|
|
823 % Rule for N authors (N > 2, q := N div 3)
|
|
824 % N mod 3 = 0 -> 3 * q
|
|
825 % N mod 3 = 1 -> 3 * (q - 2) + 2 + 2
|
|
826 % N mod 3 = 2 -> 3 * (q - 1) + 2
|
|
827
|
|
828 \newcount\mkt@cnta\newcount\mkt@cntb
|
|
829 \newcount\mkt@sname\newcount\mkt@gname
|
|
830 \newbox\mkt@boxa
|
|
831 \newdimen\mkt@namewidth
|
|
832 \def\mkt@makeauthor{\let\member\@gobble \let\nomember\relax
|
|
833 \let\stmember\@gobble % Those are not necessary in final manuscript.
|
|
834 \def\@makefnmark{\smash{\rlap{\fn@fontvii$^{\affi@thefnmark}$}}}%
|
|
835 \gdef\affi@thefnmark{}\leavevmode\let\+\ignorespaces
|
|
836 \settowidth\@tempdima{あ}\mkt@namewidth7\@tempdima\@tempcnta\z@
|
|
837 \expandafter\mkt@countauthor\@author\and\@nil\and
|
|
838 \ifnum\@tempcnta=\@ne\let\mkt@anhbox\mkt@anhboxc\mkt@makesingleauthor
|
|
839 \else
|
|
840 \@tempcntb\@tempcnta \divide\@tempcntb\thr@@
|
|
841 \multiply\@tempcntb\thr@@ \advance\@tempcntb-\@tempcnta
|
|
842 \ifnum\@tempcntb=\m@ne\relax\@tempcntb\tw@\else\@tempcntb\z@\fi
|
|
843 \mkt@cnta\thr@@
|
|
844 \let\mkt@anhbox\mkt@anhboxl
|
|
845 \expandafter\mkt@makemultiauthor\@author\and\and\fi}
|
|
846 \def\mkt@countauthor#1\and{\def\@tempa{#1}\ifx\@tempa\@nnil\let\next\relax
|
|
847 \else\advance\@tempcnta\@ne \let\next\mkt@countauthor\fi\next}
|
|
848
|
|
849 % If single author, author name has 9 KC width instead of 7.
|
|
850 \def\mkt@makesingleauthor{\divide\mkt@namewidth7\multiply\mkt@namewidth9\relax
|
|
851 \expandafter\mkt@putauthor\@author\+ \@nil}
|
|
852
|
|
853 \def\mkt@makemultiauthor#1\and{\ifnum\@tempcnta=\z@\unskip\let\next\relax\else
|
|
854 \leavevmode
|
|
855 \advance\mkt@cnta\m@ne \advance\@tempcnta\m@ne
|
|
856 \ifnum\mkt@cnta=\z@\mkt@maleft{#1}\mkt@cnta\thr@@\else
|
|
857 \ifnum\@tempcnta=\@tempcntb\mkt@maleft{#1}\mkt@cnta\tw@\else
|
|
858 \mkt@putauthor#1\+ \@nil\let\mkt@anhbox\mkt@anhboxc\fi\fi
|
|
859 \let\next\mkt@makemultiauthor\fi\next}
|
|
860 \def\mkt@maleft#1{\let\mkt@anhbox\mkt@anhboxr\mkt@putauthor#1\+ \@nil
|
|
861 \par\let\mkt@anhbox\mkt@anhboxl}
|
|
862
|
|
863 % Japanese author name format:
|
|
864 % Non Japanese : As is.
|
|
865 % Japanese w/o s/g delimitor : As is with warning.
|
|
866 % Japanese (s+g>6) : As is.
|
|
867 % Japanese (s+g<7) : Give 1-KC space to s/g delimitor, then insert
|
|
868 % infinit stretch between each character pair, assuming the
|
|
869 % s/g delimitor as a charcter, to make the name have 7-KC
|
|
870 % width. An exception is 2s + 2g case, in which s/g
|
|
871 % delimitor has 0 width in order to have the result
|
|
872 % "S_S_G_G".
|
|
873
|
|
874 \def\mkt@putauthor#1 #2\@nil{%
|
|
875 \setbox\@tempboxa\hbox{\let\affiref\@gobble \let\mkt@warning\@gobble
|
|
876 \jintercharskip\z@#1#2}%
|
|
877 \setbox\mkt@boxa\hbox{\let\affiref\@gobble \let\mkt@warning\@gobble
|
|
878 \jintercharskip1cm#1#2}%
|
|
879 \ifdim\wd\@tempboxa=\wd\mkt@boxa \mkt@anhbox{#1 #2}\else
|
|
880 % probably no Kanjis
|
|
881 \def\@tempa{#2}\ifx\@tempa\empty % without space btwn s/g-name
|
|
882 {\let\affiref\@gobble \def\+{}%
|
|
883 \ipsj@warning{Author name #1 doesn't have a space}}%
|
|
884 % 2.00(3)
|
|
885 \mkt@anhbox{#1}\else
|
|
886 \mkt@getnamewidth\mkt@sname{#1}\mkt@getnamewidth\mkt@gname{#2}%
|
|
887 \mkt@cntb\mkt@sname \advance\mkt@cntb\mkt@gname
|
|
888 \ifnum\mkt@cntb>6\relax\mkt@anhbox{#1\ #2}\else
|
|
889 \jintercharskip\fill%
|
|
890 \@tempskipa\@tempdima plus2fill\relax
|
|
891 \ifnum\mkt@sname=\tw@ \ifnum\mkt@gname=\tw@ \@tempskipa\fill\fi\fi
|
|
892 \hbox to\mkt@namewidth{#1\hskip\@tempskipa#2\@makefnmark}\fi\fi\fi
|
|
893 \gdef\affi@thefnmark{}\hskip\columnsep}
|
|
894
|
|
895 % When an author name is formatted "as is", the following macros are used
|
|
896 % according to their position (left, right, or center).
|
|
897 \def\mkt@anhboxl#1{\hbox to\mkt@namewidth{\hss#1\@makefnmark}}
|
|
898 \def\mkt@anhboxr#1{\hbox to\mkt@namewidth{#1\@makefnmark\hss}}
|
|
899 \def\mkt@anhboxc#1{\setbox\@tempboxa\hbox{#1\@makefnmark}%
|
|
900 \ifdim\wd\@tempboxa>\mkt@namewidth\box\@tempboxa
|
|
901 \else\hbox to\mkt@namewidth{\hss\box\@tempboxa\hss}\fi} % 2.08(1)
|
|
902
|
|
903 \def\mkt@getnamewidth#1#2{\setbox\@tempboxa\hbox{\let\affiref\@gobble#2}%
|
|
904 \@tempdimb\wd\@tempboxa
|
|
905 \advance\@tempdimb.5\@tempdima #1\@tempdimb \mkt@cntb\@tempdima
|
|
906 \divide#1\mkt@cntb}
|
|
907
|
|
908 % English author name format
|
|
909 % 1 -> <name-1>^*
|
|
910 % 2 -> <name-1>^* and~<name-2>^*
|
|
911 % 3 or more -> <name-1>,^* <name-2>,^* ... <name-n-1>^* and~<name-n>^*
|
|
912 % (be careful the position of comma).
|
|
913 %
|
|
914 % No special tricks for assignment names to line. Names are simply put in a
|
|
915 % \centering paragraph.
|
|
916
|
|
917 \def\mkt@makeeauthor{\let\member\@gobble \let\nomember\relax
|
|
918 \let\stmember\@gobble % Those are not necessary in final manuscript.
|
|
919 \leavevmode\let\mkt@and\relax\gdef\affi@thefnmark{}%
|
|
920 \def\@thefnmark{\affi@thefnmark}%
|
|
921 \expandafter\mkt@imakeeauthor\@eauthor\and\@nil\and}
|
|
922 \def\mkt@imakeeauthor#1\and#2\and{\def\@tempa{#2}\ifx\@tempa\@nnil
|
|
923 #1\@makefnmark\let\next\relax
|
|
924 \else
|
|
925 \def\@tempb{#1}\def\next{\mkt@iimakeeauthor#2\and}%
|
|
926 \fi\next}
|
|
927 \def\mkt@iimakeeauthor#1\and{\def\@tempa{#1}\ifx\@tempa\@nnil
|
|
928 \@makefnmark\ {\rm{and}~}\gdef\affi@thefnmark{}\hbox{\@tempb}%
|
|
929 \@makefnmark\let\next\relax
|
|
930 \else
|
|
931 \mkt@and\hbox{\@tempb}\let\mkt@and\mkt@andmid
|
|
932 \let\next\mkt@iimakeeauthor
|
|
933 \fi\def\@tempb{#1}\next}
|
|
934 \def\mkt@andmid{,\@makefnmark\ \gdef\affi@thefnmark{}}
|
|
935
|
|
936 % Macros to specify author's affiliation easily.
|
|
937 \newcounter{affi@footnote} \c@affi@footnote\z@
|
|
938 \def\affilabel{\stepcounter{affi@footnote}\affi@deflabels\affi@affilabel}
|
|
939 % 1.04(1a)
|
|
940 \def\paffilabel{\affi@deflabels\affi@paffilabel}
|
|
941 \def\affi@deflabels#1#2#3{{\def\protect{\noexpand\protect\noexpand}%
|
|
942 \let\affi@affilabel\relax \let\affi@paffilabel\relax \let\\\relax
|
|
943 \xdef\affi@labels{\affi@labels#1{#2}{#3}}}}
|
|
944 \def\affi@labels{}
|
|
945 \def\affi@affilabel{\begingroup
|
|
946 \def\@mpfn{affi@footnote}\def\thempfn{\theaffi@footnote}%
|
|
947 \def\affi@fnmark{\protect\@makefnmarkdagger}%
|
|
948 \affi@label}
|
|
949 \def\affi@paffilabel#1#2{\begingroup\PF@adjustfnote
|
|
950 \def\affi@fnmark{\protect\@makefnmarkstar}%
|
|
951 \def\protect{\noexpand\protect\noexpand}%
|
|
952 \def\\{\noexpand\\Presently with \ignorespaces}%
|
|
953 \edef\@tempa{\ifDS@english Presently with \else 現在,\fi#2}% 1.04(1d)
|
|
954 \affi@label{#1}{\@tempa}}
|
|
955 \def\affi@label#1#2{\stepcounter{\@mpfn}%
|
|
956 \@ifundefined{affi@r@#1}%
|
|
957 {\expandafter\xdef\csname affi@r@#1\endcsname{\thempfn}}
|
|
958 {\ipsj@warning{Affiliation label `#1' multiply defined}}%
|
|
959 % 2.00(3)
|
|
960 \let\affi@footnotetext\relax\let\\\relax
|
|
961 \def\protect{\noexpand\protect\noexpand}%
|
|
962 \xdef\@thanks{\@thanks
|
|
963 \affi@footnotetext{\thempfn}{\affi@fnmark}{#2}}\endgroup}
|
|
964
|
|
965 \def\affiref#1{\@ifundefined{affi@r@#1}%
|
|
966 {\ipsj@warning{Affiliation reference `#1' undefined}% 2.00(3)
|
|
967 \def\@tempa{?}}%
|
|
968 {\def\@tempa{\csname affi@r@#1\endcsname}}%
|
|
969 \ifx\affi@thefnmark\empty\xdef\affi@thefnmark{\@tempa}\else
|
|
970 \xdef\affi@thefnmark{\affi@thefnmark,\hskip\z@\@tempa}\fi}
|
|
971 \def\affi@footnotetext#1#2#3{{\def\@thefnmark{#1}\def\@makefnmarkforfn{#2}
|
|
972 \@footnotetext{#3}}}
|
|
973
|
|
974 % 1.04(1b)>>
|
|
975 \def\theaffi@footnote{\ifcase\c@affi@footnote\or
|
|
976 {\dagger}\or {\dagger}{\dagger}\or {\dagger}{\dagger}{\dagger}\fi}
|
|
977 % 1.04(1c)
|
|
978 \def\theaffi@footnotemany{{\dagger}\number\c@affi@footnote}
|
|
979 % 1.04(1b)<<
|
|
980
|
|
981 \def\thanks#1{\begingroup
|
|
982 \def\@makefnmark{\smash{\hbox{\fn@fontvii$^{\@thefnmark}$}}}%
|
|
983 \footnotemark
|
|
984 \let\affi@footnotetext\relax\let\\\relax
|
|
985 \def\protect{\noexpand\protect\noexpand}%
|
|
986 \xdef\@thanks{\@thanks
|
|
987 \affi@footnotetext{\thempfn}{\protect\@makefnmarkstar}{#1}}%
|
|
988 \endgroup}
|
|
989
|
|
990 % \contact is necessary only for drafts.
|
|
991 \long\def\contact#1{}
|
|
992
|
|
993
|
|
994 %%%%%% Page Header and Footer %%%%%%
|
|
995
|
|
996 \mark{{}{}}
|
|
997
|
|
998 \newcounter{volpageoffset} % You must set this to appropriate value
|
|
999 \setcounter{volpageoffset}{1} % for each issue!
|
|
1000
|
|
1001 % 2.00(16)>>
|
|
1002 \let\latex@document\document
|
|
1003 \def\document{\latex@document
|
|
1004 \ifDS@private\else \global\c@page\c@volpageoffset \fi} % 2.07(8)
|
|
1005 \let\c@volpage\c@page % for backward compatibility
|
|
1006 \def\thevolpage{\thepage} % for backward compatibility
|
|
1007 % 2.00(16)<<
|
|
1008
|
|
1009 \newcounter{volume}\expandafter\let\csname c@巻数\endcsname\c@volume
|
|
1010 \newcounter{number}\expandafter\let\csname c@号数\endcsname\c@number
|
|
1011 \let\c@month\c@number \expandafter\let\csname c@月数\endcsname\c@number
|
|
1012 % 2.07(4)
|
|
1013 \newcounter{year}\expandafter\let\csname c@年数\endcsname\c@year
|
|
1014
|
|
1015 % 2.07(4)>>
|
|
1016 \def\@thevolno{Vol.~\arabic{巻数}\hskip\@mojihaba No.~%
|
|
1017 \ifipsj@trans SIG\ \ipsj@sig@numa(\ipsj@sig@code\ \ipsj@sig@numb)%
|
|
1018 \else \arabic{号数}\fi}
|
|
1019 % 2.07(4)<<
|
|
1020 % 2.00(15)>>
|
|
1021 \def\@monthyear{\ifcase\value{号数}\or Jan.\or Feb.\or Mar.\or Apr.\or May\or
|
|
1022 June\or July\or Aug.\or Sep.\or Oct.\or Nov.\or Dec.\else\fi
|
|
1023 \hskip.5\@mojihaba \setcounter{年数}{1959}%
|
|
1024 \addtocounter{年数}{\value{巻数}}\arabic{年数}}
|
|
1025 % 2.00(15)<<
|
|
1026
|
|
1027 % 2.07(2)>>
|
|
1028 \newif\ifipsj@trans \ipsj@transfalse
|
|
1029 \def\transaction#1#2#3{\ipsj@transtrue
|
|
1030 \def\ipsj@sig@code{#1}\def\ipsj@sig@numa{#2}\def\ipsj@sig@numb{#3}%
|
|
1031 \expandafter\let\expandafter\ipsj@sig@title
|
|
1032 \csname ipsj@sig@#1@\ifDS@english e\else j\fi\endcsname
|
|
1033 \ifx\ipsj@sig@title\relax
|
|
1034 \ipsj@warning{Transaction code #1 is unknown}\fi
|
|
1035 \let\ipsj@oddhead@s\ipsj@oddhead@a
|
|
1036 \settowidth\@tempdima{%
|
|
1037 \ipsj@ohcheck\ipsj@ohcvolno\hdr@tipsj\ipsj@ohcvolno}%
|
|
1038 \ifdim\@tempdima>\textwidth
|
|
1039 \let\ipsj@oddhead@s\ipsj@oddhead@b
|
|
1040 \settowidth\@tempdima{\c@month3\relax % "Mar." is longest
|
|
1041 \ipsj@ohcheck\ipsj@ohcvolno\hdr@tipsj\@monthyear}%
|
|
1042 \ifdim\@tempdima>\textwidth
|
|
1043 \let\ipsj@oddhead@s\ipsj@oddhead@c
|
|
1044 \fi \fi}
|
|
1045
|
|
1046 \def\ipsj@sig@PRO@j{プログラミング}
|
|
1047 \def\ipsj@sig@PRO@e{Programming}
|
|
1048 \def\ipsj@sig@TOM@j{数理モデル化と応用}
|
|
1049 \def\ipsj@sig@TOM@e{Mathematical Modeling and Its Applications}
|
|
1050 \def\ipsj@sig@TOD@j{データベース}
|
|
1051 \def\ipsj@sig@TOD@e{Databases}
|
|
1052 \def\ipsj@sig@HPS@j{ハイパフォーマンスコンピューティングシステム}
|
|
1053 \def\ipsj@sig@HPS@e{High Performance Computing Systems}
|
|
1054 \def\ipsj@sig@CVIM@j{コンピュータビジョンとイメージメディア}
|
|
1055 \def\ipsj@sig@CVIM@e{Computer Vision and Image Media}
|
|
1056 \def\ipsj@sig@ACS@j{コンピューティングシステム} % 2.09(2)
|
|
1057 \def\ipsj@sig@ACS@e{Advanced Computing Systems} % 2.09(2)
|
|
1058 % 2.07(2)<<
|
|
1059
|
|
1060 \def\copyrightnotice{\long\def\ipsj@cnotice}
|
|
1061
|
|
1062 % 1.05(2)>>
|
|
1063 \ifDS@techrep
|
|
1064 \def\ps@headings{\let\@mkboth\markboth
|
|
1065 \def\@oddhead{\@checklines\hss}\let\@evenhead\@oddhead
|
|
1066 \def\@oddfoot{}\def\@evenfoot{}}
|
|
1067 \let\ps@myheadings\ps@headings
|
|
1068
|
|
1069 \else\ifDS@private % 2.07(8)>>
|
|
1070 \def\ps@headings{\let\@mkboth\markboth
|
|
1071 \def\@oddhead{\@checklines\hfil\thepage\hskip12\@Q}%
|
|
1072 \def\@evenhead{\@checklines\hskip12\@Q\thepage\hfil}
|
|
1073 \def\@oddfoot{}\def\@evenfoot{}}
|
|
1074 \def\ps@myheadings{\ps@headings
|
|
1075 \def\@oddhead{\@checklines
|
|
1076 \smash{\parbox[b]{.75\textwidth}{\@nameuse{ipsj@cnotice}}}%
|
|
1077 \hfil\thepage\hskip12\@Q}%
|
|
1078 \let\@evenhead\@oddhead}
|
|
1079 % 2.07(8)<<
|
|
1080 \else
|
|
1081 % 1.05(2)<<
|
|
1082 \def\ps@headings{\let\@mkboth\markboth
|
|
1083 \def\@oddfoot{}
|
|
1084 \def\@evenfoot{}
|
|
1085 \def\@evenhead{\fs@header \@checklines
|
|
1086 \hskip12\@Q\rlap{\thepage}\hss % 2.07(3)
|
|
1087 \hdr@tipsj\hss\llap{\@monthyear}\hskip12\@Q}
|
|
1088 \def\@oddhead{\fs@header \@checklines
|
|
1089 \ipsj@oddhead@t\@titlestring\thepage} % 2.07(3)
|
|
1090 \def\sectionmark##1{}\def\subsectionmark##1{}}
|
|
1091
|
|
1092 \def\ps@myheadings{\let\@mkboth\@gobbletwo
|
|
1093 \def\@oddhead{\fs@header \@checklines
|
|
1094 \ipsj@oddhead@s\hdr@tipsj\@monthyear} % 2.07(3)
|
|
1095 \def\@oddfoot{\fs@footer\hfil\thepage\hfil}
|
|
1096 \let\@evenhead\@oddhead
|
|
1097 \let\@evenfoot\@oddfoot
|
|
1098 \def\sectionmark##1{}\def\subsectionmark##1{}}
|
|
1099 \fi\fi % 1.05(2)
|
|
1100 % 2.07(8)
|
|
1101 % 2.07(3)>>
|
|
1102 \def\ipsj@oddhead@a#1#2{\hskip12\@Q \rlap{\@thevolno}\hss#1\hss
|
|
1103 \llap{#2}\hskip12\@Q}
|
|
1104 \def\ipsj@oddhead@b#1#2{\hskip12\@Q \@thevolno\qquad#1\hss
|
|
1105 \llap{#2}\hskip12\@Q}
|
|
1106 \def\ipsj@oddhead@c#1#2{\hskip12\@Q \@thevolno\hss#1\hss#2\hskip12\@Q}
|
|
1107 \let\ipsj@oddhead@t\ipsj@oddhead@a
|
|
1108 \let\ipsj@oddhead@s\ipsj@oddhead@a
|
|
1109 % 2.07(3)<<
|
|
1110
|
|
1111 % 2.02(2),2.07(4)>>
|
|
1112 \ifDS@english
|
|
1113 \def\hdr@tipsj{\smash{%
|
|
1114 \ifipsj@trans
|
|
1115 IPSJ Transactions on \ipsj@sig@title
|
|
1116 \else
|
|
1117 IPSJ Journal\fi}}
|
|
1118 \else
|
|
1119 \def\hdr@tipsj{\smash{情報処理学会論文誌%
|
|
1120 \ifipsj@trans :\ipsj@sig@title\fi}}
|
|
1121 \fi
|
|
1122 % 2.02(2),2.07(4)<<
|
|
1123
|
|
1124 % \checklines enables to draw a horizontal rule onto each baselines.
|
|
1125
|
|
1126 \newif\if@checklines \@checklinesfalse
|
|
1127 \def\checklines{\@checklinestrue}
|
|
1128 \def\@checklines{\if@checklines \rlap{\smash{\vtop{\normalsize
|
|
1129 \hbox{} \vskip\headsep \hrule width\textwidth\vskip-.4pt \vskip\topskip
|
|
1130 \hrule\vskip-.4pt
|
|
1131 \ifDS@techrep\@tempcnta50\else % 1.05(2)
|
|
1132 \ifDS@english\@tempcnta53\else\@tempcnta45\fi\fi % 1.05(2)
|
|
1133 \relax\@@checklines}}}\fi
|
|
1134 \ifDS@english\@tempcnta-7\else\@tempcnta\z@\fi\relax
|
|
1135 % 1.05(2)>>
|
|
1136 \@tempswafalse
|
|
1137 \ifDS@printer \@tempswatrue \fi \ifDS@techrep \@tempswatrue \fi
|
|
1138 \if@tempswa \unitlength\@Q \begin{picture}(0,0)(0,\@tempcnta)
|
|
1139 \put(-61,63){\begin{picture}(0,0)
|
|
1140 \put(-10,0){\line(-1,0){30}}
|
|
1141 \put(0,10){\line(0,1){30}}\end{picture}}
|
|
1142 \put(667,63){\begin{picture}(0,0)
|
|
1143 \put(10,0){\line(1,0){30}}
|
|
1144 \put(0,10){\line(0,1){30}}\end{picture}}
|
|
1145 \put(-61,-965){\begin{picture}(0,0)
|
|
1146 \put(-10,0){\line(-1,0){30}}
|
|
1147 \put(0,-10){\line(0,-1){30}}
|
|
1148 \ifDS@techrep
|
|
1149 \put(0,-10){\makebox(728,0)[t]{\thepage}}\fi
|
|
1150 \end{picture}}
|
|
1151 % 1.05(2)<<
|
|
1152 \put(667,-965){\begin{picture}(0,0)
|
|
1153 \put(10,0){\line(1,0){30}}
|
|
1154 \put(0,-10){\line(0,-1){30}}\end{picture}}
|
|
1155 \end{picture}\fi}
|
|
1156 \def\@@checklines{\ifnum\@tempcnta>\z@
|
|
1157 \vskip\normalbaselineskip \hrule\vskip-.4pt \advance\@tempcnta\m@ne
|
|
1158 \let\next\@@checklines\else\let\next\relax\fi\next}
|
|
1159
|
|
1160 \pagestyle{headings}
|
|
1161 \pagenumbering{arabic}
|
|
1162
|
|
1163 \ifDS@english\else
|
|
1164 \def\today{\the\year 年 \the\month 月 \the\day 日}
|
|
1165 \fi
|
|
1166
|
|
1167
|
|
1168 %%%%%% Output Routine %%%%%%
|
|
1169
|
|
1170 % To balance the final page,
|
|
1171 % following code is borrowed from nicetwocolumn style
|
|
1172
|
|
1173 % you can refrain from balancing by falsifying following switch!
|
|
1174 %% Initial value of \if@lastpagebalancing is false. It may be turned true by
|
|
1175 %% biography processing macros. (H.N.)
|
|
1176
|
|
1177 \newif\if@lastpagebalancing \@lastpagebalancingfalse
|
|
1178 \newif\if@finalpageoutput \@finalpageoutputfalse
|
|
1179 % incorporate balanced output to \enddocument
|
|
1180 \let\latex@enddocument\enddocument
|
|
1181 \def\enddocument{\@finalpageoutputtrue
|
|
1182 \if@lastpagebalancing
|
|
1183 \global\let\@outputdblcol\opt@balanceoutputdblcol\fi
|
|
1184 \ifDS@preface
|
|
1185 \global\let\@outputdblcol\opt@balanceoutputdblcol\fi
|
|
1186 \ifDS@abstract % 2.07(7)>>
|
|
1187 \hbox{}\newpage
|
|
1188 \ifDS@english \rightline{(Presented \ra@presented)}
|
|
1189 \else \expandafter\ra@putpresented\ra@presented \fi
|
|
1190 \fi % 2.07(7)<<
|
|
1191 \latex@enddocument}
|
|
1192
|
|
1193 \newbox\@leftcolumnfootnote \newbox\@rightcolumnfootnote
|
|
1194 \newif\if@leftfootnoteexist \@leftfootnoteexistfalse
|
|
1195 \newif\if@rightfootnoteexist \@rightfootnoteexistfalse
|
|
1196 \newif\ifopt@floatexist \opt@floatexistfalse
|
|
1197
|
|
1198 % 2.00(12) \color@{begin/end}group ignored
|
|
1199 \def\enlargethispage{\ipsj@warning{\string\enlargepage is ignored}}
|
|
1200 % 2.00(3,12)
|
|
1201 \def\@makecol{\vbadness10000 \lineskiplimit\normallineskiplimit % 1.05(1)
|
|
1202 \setbox\@outputbox\box\@cclv
|
|
1203 \if@firstcolumn
|
|
1204 \ifvoid\footins \global\@leftfootnoteexistfalse
|
|
1205 \else
|
|
1206 \global\@leftfootnoteexisttrue
|
|
1207 \@tempdima\dp\footins
|
|
1208 \global\setbox\@leftcolumnfootnote\vbox{
|
|
1209 \unvbox\footins\vskip-\@tempdima}
|
|
1210 \fi
|
|
1211 \ifx\@botlist\@empty\else\global\opt@floatexisttrue\fi
|
|
1212 \else
|
|
1213 \ifvoid\footins \global\@rightfootnoteexistfalse
|
|
1214 \else
|
|
1215 \global\@rightfootnoteexisttrue
|
|
1216 \@tempdima\dp\footins
|
|
1217 \global\setbox\@rightcolumnfootnote\vbox{
|
|
1218 \unvbox\footins \vskip-\@tempdima}
|
|
1219 \ifx\@toplist\@empty\else\global\opt@floatexisttrue\fi
|
|
1220 \fi
|
|
1221 \fi
|
|
1222 \xdef\@freelist{\@freelist\@midlist}\gdef\@midlist{}\@combinefloats
|
|
1223 \global\maxdepth\@maxdepth}
|
|
1224
|
|
1225 % 2.01(1) >>
|
|
1226 \let\latex@vtryfc\@vtryfc
|
|
1227 \def\@vtryfc{\if@firstcolumn \global\@leftfootnoteexistfalse
|
|
1228 \else \global\@rightfootnoteexistfalse \fi \latex@vtryfc}
|
|
1229 % 2.01(1) <<
|
|
1230
|
|
1231 % 1.01(1,2) >>
|
|
1232 \let\latex@addtobot\@addtobot
|
|
1233 \def\@addtobot{\latex@addtobot\global\maxdepth\@maxdepth}
|
|
1234 \let\latex@combinefloats\@combinefloats
|
|
1235 \def\@combinefloats{\ifx\@botlist\@empty\else \dimen@\dp\@outputbox
|
|
1236 \setbox\@outputbox\vbox{\unvbox\@outputbox \vskip-\dimen@}\fi
|
|
1237 \latex@combinefloats}
|
|
1238 % 1.01(1,2) <<
|
|
1239
|
|
1240 \newskip\opt@baselineskip
|
|
1241 \def\@outputdblcol{
|
|
1242 \if@firstcolumn \global\@firstcolumnfalse
|
|
1243 \global\setbox\@leftcolumn\box\@outputbox
|
|
1244 \global\opt@baselineskip\baselineskip
|
|
1245 \else \global\@firstcolumntrue \global\opt@floatexistfalse
|
|
1246 \global\bib@adjustheight-\maxdimen
|
|
1247 \setbox\@leftcolumn\vbox to\@colht{\boxmaxdepth\@maxdepth % 1.01(3)
|
|
1248 \unvbox\@leftcolumn
|
|
1249 \if@leftfootnoteexist\vfil
|
|
1250 \footnoterule\box\@leftcolumnfootnote\fi}
|
|
1251 \setbox\@outputbox\vbox to\@colht{\boxmaxdepth\@maxdepth % 1.01(3)
|
|
1252 \unvbox\@outputbox
|
|
1253 \if@rightfootnoteexist\vfil
|
|
1254 \footnoterule\box\@rightcolumnfootnote\fi}
|
|
1255 \global\maxdepth\@maxdepth
|
|
1256 \if@finalpageoutput
|
|
1257 \if@leftfootnoteexist\else\if@rightfootnoteexist\else
|
|
1258 \setbox\@leftcolumn\vbox{\unvbox\@leftcolumn}%
|
|
1259 \setbox\@outputbox\vbox{\unvbox\@outputbox}
|
|
1260 \ifdim\ht\@leftcolumn<\ht\@outputbox
|
|
1261 \setbox\@leftcolumn\vbox to\ht\@outputbox{
|
|
1262 \unvbox\@leftcolumn}%
|
|
1263 \else
|
|
1264 \setbox\@outputbox\vbox to\ht\@leftcolumn{
|
|
1265 \unvbox\@outputbox}%
|
|
1266 \fi
|
|
1267 \fi\fi\fi
|
|
1268 \setbox\@outputbox\vbox{\hbox to\textwidth{\hbox to\columnwidth
|
|
1269 {\box\@leftcolumn \hss}\hfil \vrule width\columnseprule\hfil
|
|
1270 \hbox to\columnwidth{\box\@outputbox \hss}}}
|
|
1271 \@combinedblfloats
|
|
1272 \@outputpage \begingroup \@dblfloatplacement \@startdblcolumn
|
|
1273 \@whilesw\if@fcolmade \fi{\@outputpage\@startdblcolumn}%
|
|
1274 \endgroup
|
|
1275 \fi}
|
|
1276
|
|
1277 \let\opt@outputdblcol\@outputdblcol
|
|
1278 \chardef\opt@boxa\z@
|
|
1279 \chardef\opt@boxb\@ne
|
|
1280 \chardef\opt@boxc\tw@
|
|
1281 \def\opt@magicpenalty{1234}
|
|
1282 \def\opt@balanceoutputdblcol{\let\next\opt@ibalanceoutputdblcol
|
|
1283 \if@firstcolumn \let\next\opt@outputdblcol
|
|
1284 \else \ifopt@floatexist \opt@warning \let\next\opt@outputdblcol
|
|
1285 \else\ifx\@deferlist\@empty\else
|
|
1286 \opt@warning \let\next\opt@outputdblcol\fi\fi\fi
|
|
1287 \next}
|
|
1288 \def\opt@ibalanceoutputdblcol{%
|
|
1289 \setbox\@leftcolumn\vbox{\unvbox\@leftcolumn
|
|
1290 \ifnum\lastpenalty=\opt@magicpenalty\relax\else
|
|
1291 \@tempcnta10\relax\@whilenum\@tempcnta>0\do{%
|
|
1292 \unskip\unskip\unkern\unpenalty
|
|
1293 \advance\@tempcnta\m@ne}\fi}
|
|
1294 \advance\opt@baselineskip-\dp\@leftcolumn
|
|
1295 \ifdim\dp\@leftcolumn=\z@ \ifdim\opt@baselineskip=\baselineskip
|
|
1296 \@tempdima\ht\@leftcolumn \advance\@tempdima-\topskip
|
|
1297 \divide\@tempdima\baselineskip
|
|
1298 \@tempcnta\@tempdima \@tempdima\@tempcnta\baselineskip
|
|
1299 \advance\@tempdima\topskip
|
|
1300 \advance\@tempdima-\ht\@leftcolumn
|
|
1301 \advance\opt@baselineskip\@tempdima \fi\fi
|
|
1302 \advance\opt@baselineskip-\topskip
|
|
1303 \setbox\@outputbox\vbox{\unvbox\@outputbox}
|
|
1304 \ifdim\ht\@outputbox=\topskip \ifdim\dp\@outputbox=\z@
|
|
1305 \setbox\opt@boxa\vbox{\unvcopy\@outputbox\unskip
|
|
1306 \global\setbox\opt@boxb\lastbox
|
|
1307 \global\dimen@\lastskip}
|
|
1308 \ifvoid\opt@boxb\else\ifdim\ht\opt@boxb=\z@
|
|
1309 \ifdim\dp\opt@boxb=\z@\ifdim\dimen@=\topskip
|
|
1310 \@firstcolumntrue\fi\fi\fi\fi\fi\fi
|
|
1311 \setbox\opt@boxa\copy\@outputbox
|
|
1312 \setbox\@outputbox\vbox{\unvcopy\@leftcolumn
|
|
1313 \if@firstcolumn\else
|
|
1314 \vskip\opt@baselineskip
|
|
1315 \penalty\interlinepenalty\unvbox\@outputbox\fi}
|
|
1316 \@tempdima\ht\@outputbox \advance\@tempdima\topskip
|
|
1317 \divide\@tempdima\tw@ \advance\@tempdima100sp
|
|
1318 \splittopskip\topskip \splitmaxdepth\@maxdepth
|
|
1319 \ifdim\bib@adjustheight<\@M pt
|
|
1320 \opt@split\@outputbox\opt@boxb\@tempdima
|
|
1321 \ifdim\ht\opt@boxb<\bib@adjustheight
|
|
1322 \opt@split\@leftcolumn\opt@boxc\bib@adjustheight
|
|
1323 \opt@split\opt@boxc\opt@boxb\@tempdima
|
|
1324 \if@firstcolumn
|
|
1325 \opt@adjust\opt@boxc{\unvbox\@leftcolumn}
|
|
1326 \else\opt@adjust\opt@boxc{\ifvoid\@leftcolumn\else
|
|
1327 \unvbox\@leftcolumn\vskip\opt@baselineskip\fi
|
|
1328 \unvbox\opt@boxa}\fi\fi
|
|
1329 \else
|
|
1330 \advance\bib@adjustheight-\@M pt
|
|
1331 \opt@split\opt@boxa\opt@boxc\bib@adjustheight
|
|
1332 \setbox\@outputbox\vbox{\unvbox\@leftcolumn
|
|
1333 \vskip\opt@baselineskip\unvbox\opt@boxc}
|
|
1334 \opt@split\@outputbox\opt@boxb\@tempdima
|
|
1335 \opt@adjust\@outputbox{\unvbox\opt@boxa}
|
|
1336 \fi
|
|
1337 \if@leftfootnoteexist
|
|
1338 \setbox\opt@boxb\vbox to\@colht{\box\opt@boxb\vfill
|
|
1339 \footnoterule\box\@leftcolumnfootnote}\fi
|
|
1340 \if@rightfootnoteexist
|
|
1341 \setbox\@outputbox\vbox to\@colht{\box\@outputbox\vfill
|
|
1342 \footnoterule\box\@rightcolumnfootnote}\fi
|
|
1343 \ifdim\ht\@outputbox>\ht\opt@boxb
|
|
1344 \setbox\opt@boxb\vbox to\ht\@outputbox{\unvbox\opt@boxb}
|
|
1345 \else
|
|
1346 \setbox\@outputbox\vbox to\ht\opt@boxb{\unvbox\@outputbox}
|
|
1347 \fi
|
|
1348 \setbox\@outputbox\vbox{\hbox to\textwidth{\hbox to\columnwidth
|
|
1349 {\box\opt@boxb \hss}\hfil \vrule width\columnseprule\hfil
|
|
1350 \hbox to\columnwidth{\box\@outputbox \hss}}}
|
|
1351 \global\@firstcolumntrue \@combinedblfloats
|
|
1352 \@outputpage \begingroup \@dblfloatplacement \@startdblcolumn
|
|
1353 \@whilesw\if@fcolmade \fi{\@outputpage\@startdblcolumn}\endgroup}
|
|
1354
|
|
1355 \if@LaTeX@eN % 2.00(3)>>
|
|
1356 \def\opt@warning{\ClassWarning{ipsjpapers}{%
|
|
1357 Single column floats still remain on biography\MessageBreak
|
|
1358 processing.\MessageBreak
|
|
1359 Do \string\verbbiography\space for manual balcing}}
|
|
1360 \else
|
|
1361 \def\opt@warning{\@warning{Single column floats still remain on biography
|
|
1362 processing.^^J\space\space\space\space\space
|
|
1363 \space\space\space\space\space\space\space\space\space\space
|
|
1364 Do \string\verbbiography\space for manual balancing}}
|
|
1365 \fi % 2.00(3)<<
|
|
1366 \def\opt@split#1#2#3{\setbox#2\vsplit#1to#3\setbox#2\vbox{\unvbox#2}}
|
|
1367 \def\opt@adjust#1#2{\@tempdima\ht#1 \advance\@tempdima-\topskip
|
|
1368 \@tempdimb\@tempdima \divide\@tempdima\baselineskip
|
|
1369 \@tempcnta\@tempdima \@tempdima\@tempcnta\baselineskip
|
|
1370 \advance\@tempdima-\@tempdimb
|
|
1371 \ifdim\@tempdima<\z@ \advance\@tempdima\baselineskip \fi
|
|
1372 \advance\@tempdima\baselineskip \advance\@tempdima-\dp#1
|
|
1373 \advance\@tempdima-\topskip
|
|
1374 \setbox\@outputbox\vbox{\ifvoid#1\else\unvbox#1\vskip\@tempdima\fi#2}}
|
|
1375
|
|
1376 \let\latex@outputpage\@outputpage
|
|
1377 % \opt@finalgap: vertical space above the \hrule at the end of paper.
|
|
1378 % \opt@finallinewidth: width of the \hrule at the end of paper.
|
|
1379 \@tempdima2\baselineskip % This might be changed
|
|
1380 \edef\opt@finalgap{\the\@tempdima}
|
|
1381 \def\opt@finallinewidth{220\@Q} % This might be changed
|
|
1382 \ifDS@techrep \let\opt@finallinewidth\z@ \fi % 1.05(2)
|
|
1383
|
|
1384 \def\@outputpage{\if@finalpageoutput
|
|
1385 \setbox\@outputbox\vbox{\unvbox\@outputbox}
|
|
1386 \@tempdima\dp\@outputbox
|
|
1387 \@tempdimb\ht\@outputbox \advance\@tempdimb\opt@finalgap\relax
|
|
1388 \ifdim\@tempdimb>\textheight\else
|
|
1389 \setbox\@outputbox\vbox{\unvbox\@outputbox\vskip-\@tempdima
|
|
1390 \nointerlineskip\vbox to\z@{\vskip\opt@finalgap
|
|
1391 \hbox to\textwidth{\hss
|
|
1392 \vrule height0.4pt width\opt@finallinewidth\hss}
|
|
1393 \vss}}\fi\fi
|
|
1394 \ifASCII\if@LaTeX@e \@@topmargin\topmargin \fi\fi % 2.00(13)
|
|
1395 \latex@outputpage}
|
|
1396
|
|
1397 %%%%%% Biography %%%%%%
|
|
1398
|
|
1399 % If you want to control the allocation of biographies manually, do
|
|
1400 % \verbbiography and insert \adjust{<vertical materials>} just before
|
|
1401 % \member (or its relatives). For example;
|
|
1402 % \verbbiography
|
|
1403 % \begin{biography}
|
|
1404 % \member{...} ...
|
|
1405 % \adjust{\protect\newpage}
|
|
1406 % \member{...} ...
|
|
1407 % \adjust{\protect\vspace{1.3cm}}
|
|
1408 % \member{...} ...
|
|
1409 % \end{biography}
|
|
1410 % will make page break just after the biography of the 1st author, and will
|
|
1411 % insert a vertical space of 1.3cm just after that of the 2nd. It is
|
|
1412 % strongly recommended to \protect any control sequence in the argument of
|
|
1413 % \adjust.
|
|
1414
|
|
1415 % \受付 and \採録 define the dates of receipt/acceptance. They are put at
|
|
1416 % the end of manuscript (just before biographies) by ra@putrcvacc.
|
|
1417 \def\ra@nengo{平成} %% Change here when ...
|
|
1418 \ifDS@english
|
|
1419 \def\受付#1#2#3{\def\ra@received{\ra@date{#1}{#2}{#3}}\ignorespaces}
|
|
1420 \def\採録#1#2#3{\def\ra@accepted{\ra@date{#1}{#2}{#3}}\ignorespaces}
|
|
1421 \def\再受付#1#2#3{\def\ra@rereceived{\ra@date{#1}{#2}{#3}}\ignorespaces}
|
|
1422 % 2.07(5)
|
|
1423 \def\発表#1#2#3{\def\ra@presented{\ra@date{#1}{#2}{#3}}\ignorespaces}
|
|
1424 % 2.07(7)
|
|
1425 \def\ra@received{??? ??, ????}
|
|
1426 \def\ra@accepted{??? ??, ????}
|
|
1427 \def\ra@presented{??? ??, ????} % 2.07(7)
|
|
1428 \def\ipsj@TOD@editor{(Editor in Charge: {\it\ipsj@TOD@ename})} % 2.07(6)
|
|
1429 \else
|
|
1430 \def\受付#1#2#3{\def\ra@received{#1&}\ignorespaces}
|
|
1431 \def\採録#1#2#3{\def\ra@accepted{#1&}\ignorespaces}
|
|
1432 \def\再受付#1#2#3{\def\ra@rereceived{#1&}\ignorespaces} % 2.07(5)
|
|
1433 \def\発表#1#2#3{\def\ra@presented{#1&}\ignorespaces} % 2.07(7)
|
|
1434 \def\ra@received{?&?&?&}
|
|
1435 \def\ra@accepted{?&?&?&}
|
|
1436 \def\ra@presented{?&?&?&} % 2.07(7)
|
|
1437 \def\ipsj@TOD@editor{(担当編集委員\ \ipsj@TOD@ename )} % 2.07(6)
|
|
1438 % 2.08(2)
|
|
1439 \fi
|
|
1440 \let\received\受付
|
|
1441 \let\accepted\採録
|
|
1442 \let\rereceived\再受付 % 2.07(5)
|
|
1443 \let\presented\発表 % 2.07(7)
|
|
1444
|
|
1445 \def\edInCharge#1{\def\ipsj@TOD@ename{#1}\ignorespaces} % 2.07(6)
|
|
1446
|
|
1447 \def\ra@putrcvacc{\rightline{\vtop{\normalsize\tabskip\z@
|
|
1448 \ifDS@english
|
|
1449 \llap{(Received \ra@received)}
|
|
1450 \ifx\ra@rereceived\undefined\else
|
|
1451 \llap{(Revised \ra@rereceived)}\fi
|
|
1452 \llap{(Accepted \ra@accepted)}\hbox{}
|
|
1453 \else
|
|
1454 \halign{(\ra@nengo\hskip\jasciikanjiskip
|
|
1455 \hfil##\hfil\hskip\jasciikanjiskip 年\hskip\jasciikanjiskip&
|
|
1456 \hfil##\hfil\hskip\jasciikanjiskip 月\hskip\jasciikanjiskip&
|
|
1457 \hfil##\hfil\hskip\jasciikanjiskip 日&##\hfil\cr% 2.07(5)>>
|
|
1458 \ra@received 受付)\cr
|
|
1459 \ifx\ra@rereceived\undefined\else \ra@rereceived 再受付)\cr\fi
|
|
1460 \ra@accepted 採録)\cr\multispan3\cr}\fi}%
|
|
1461 % 2.07(5)<<
|
|
1462 \hskip\@mojihaba}
|
|
1463 \nobreak\vskip-2\baselineskip\prevdepth\z@\hbox{}
|
|
1464 \ifipsj@recommendation\else % 2.04(2)
|
|
1465 \ifx\ipsj@TOD@ename\undefined\else % 2.07(6)>>
|
|
1466 \nobreak\vskip\baselineskip
|
|
1467 \hbox{\ipsj@TOD@editor}\fi % 2.07(6)<<
|
|
1468 \vskip\baselineskip\penalty\opt@magicpenalty\fi}% 2.04(2)
|
|
1469 \def\ra@date#1#2#3{\ifcase#2\or
|
|
1470 January\or February\or March\or April\or May\or June\or
|
|
1471 July\or August\or September\or October\or November\or December\fi
|
|
1472 \space#3, #1}
|
|
1473 \def\ra@putpresented#1&{\rightline{%
|
|
1474 (\ra@nengo\hskip\jasciikanjiskip % 2.07(7)>>
|
|
1475 #1\hskip\jasciikanjiskip 年\hskip\jasciikanjiskip
|
|
1476 #2\hskip\jasciikanjiskip 月\hskip\jasciikanjiskip
|
|
1477 #3\hskip\jasciikanjiskip 日発表)}} % 2.07(7)<<
|
|
1478
|
|
1479 \newbox\bio@picbox
|
|
1480 % The following define the height and width of a picture for biography, and
|
|
1481 % the indentation of the first 6 lines. They might be changed.
|
|
1482 \def\bio@picheight{100\@Q}
|
|
1483 \def\bio@picwidth{80\@Q}
|
|
1484
|
|
1485 \newif\ifbio@showpicbox
|
|
1486 \bio@showpicboxtrue
|
|
1487 % Do \bio@showpicboxfalse if you don't want to put a frame box at the
|
|
1488 % position for picture.
|
|
1489 \ifDS@english
|
|
1490 \def\bio@lineheight{9\@Q}
|
|
1491 \def\bio@piclines{7}
|
|
1492 \def\bio@indent{91\@Q}
|
|
1493 \def\bio@hangafter{7}
|
|
1494 \else
|
|
1495 \def\bio@lineheight{8\@Q}
|
|
1496 \def\bio@piclines{6}
|
|
1497 \def\bio@indent{96\@Q}
|
|
1498 \def\bio@hangafter{5}
|
|
1499 \fi
|
|
1500
|
|
1501 % \verbbiography forces verbatim output of biography (i.e. not ballanced).
|
|
1502 \newif\ifbio@verb \bio@verbfalse
|
|
1503 \def\verbbiography{\global\bio@verbtrue}
|
|
1504 % The environment biography saves texts for biographies into the list of
|
|
1505 % \inserts (for floats).
|
|
1506 \def\biography{\ifipsj@recommendation\else\par\ra@putrcvacc\fi % 2.04(2)
|
|
1507 \def\member{\bio@member{(正会員)}}\def\nomember{\bio@member{}}
|
|
1508 \def\stmember{\bio@member{(学生会員)}}\let\adjust\bio@adjust
|
|
1509 \ifbio@showpicbox
|
|
1510 \setbox\bio@picbox\hbox{\hbox to\z@{\vrule\hskip-0.4pt%
|
|
1511 \vtop to\bio@picheight{\vskip\z@\hrule width\bio@picwidth
|
|
1512 \vfil\hrule}\hskip-0.4pt\vrule\hss}}
|
|
1513 \else
|
|
1514 \setbox\bio@picbox\hbox{}
|
|
1515 \fi
|
|
1516 \@tempdima\bio@piclines\baselineskip \advance\@tempdima\bio@lineheight
|
|
1517 \dp\bio@picbox\@tempdima
|
|
1518 \let\bio@egroup\relax\let\+\ignorespaces\let\@elt\relax
|
|
1519 \def\bio@list{}\global\bio@th\z@}
|
|
1520
|
|
1521 \def\bio@member#1#2{\bio@egroup\let\bio@egroup\bio@@egroup
|
|
1522 \@next\@currbox\@freelist\relax
|
|
1523 {\@latexerr{Too many unprocessed floats and biographies}\@ehb}%
|
|
1524 \def\@tempa{#2}%
|
|
1525 \global\setbox\@currbox\hbox\bgroup
|
|
1526 \raise\bio@lineheight\copy\bio@picbox
|
|
1527 \vtop\bgroup
|
|
1528 \let\par\\
|
|
1529 \hangindent\bio@indent\hangafter-\bio@hangafter
|
|
1530 \ifDS@english {\bf #2\ }%
|
|
1531 \else {\bf\bio@putauthor#2\+ \@nil}#1{\@@par}\fi\ignorespaces}
|
|
1532
|
|
1533 % Author name format:
|
|
1534 % S + G < 5 -> fill space between S/G (like SS__G)
|
|
1535 % otherwise -> 1 KC space between S/G (like SS_GG)
|
|
1536 \def\bio@putauthor#1 #2\@nil{%
|
|
1537 \setbox\@tempboxa\hbox{\jintercharskip\z@#1#2}%
|
|
1538 \setbox\mkt@boxa\hbox{\jintercharskip1cm#1#2}%
|
|
1539 \ifdim\wd\@tempboxa=\wd\mkt@boxa #1 #2\else
|
|
1540 \def\@tempa{#2}\ifx\@tempa\empty
|
|
1541 {\def\+{}\ipsj@warning{Author name #1 doesn't have a space}}%
|
|
1542 % 2.00(3)
|
|
1543 #1\else
|
|
1544 \@tempdima\@mojihaba
|
|
1545 \mkt@getnamewidth\mkt@sname{#1}\mkt@getnamewidth\mkt@gname{#2}%
|
|
1546 \advance\mkt@sname\mkt@gname
|
|
1547 \ifnum\mkt@sname<5\leavevmode\hbox to5\@mojihaba{#1\hfil#2}\else
|
|
1548 #1#2\fi\fi\fi}
|
|
1549 \def\bio@@egroup{\@@par\hbox{}\egroup\egroup\@tempdima\dp\@currbox
|
|
1550 \ifdim\@tempdima>\textheight
|
|
1551 \ipsj@warning{Biography of \@tempa\space is too long}% 2.00(3)
|
|
1552 \bio@verbtrue \fi
|
|
1553 \advance\@tempdima\baselineskip\global\advance\bio@th\@tempdima
|
|
1554 \global\dimen\@currbox\@tempdima \global\count\@currbox\z@
|
|
1555 {\let\protect\bio@protect\xdef\bio@list{\bio@list\@elt\@currbox}}}
|
|
1556 \def\bio@adjust#1{\bio@egroup\let\bio@egroup\relax
|
|
1557 \ifbio@verb {\let\protect\bio@protect\xdef\bio@list{\bio@list#1}\fi}}
|
|
1558 \def\bio@protect{\noexpand\protect\noexpand}
|
|
1559
|
|
1560 \def\endbiography{\bio@egroup \@tempswatrue
|
|
1561 \ifx\@botlist\@empty\ifx\@deferlist\@empty \@tempswafalse \fi\fi
|
|
1562 \ifbio@verb\else\if@tempswa \bio@verbtrue \opt@warning\fi\fi
|
|
1563 \ifbio@verb{\let\@elt\bio@putelt \let\protect\relax \bio@list}%
|
|
1564 \else\bio@putbio\fi}
|
|
1565
|
|
1566 \newdimen\bio@colht \newdimen\bio@splitheight
|
|
1567 \newdimen\bio@maxgap \newdimen\bio@lastgap
|
|
1568 \newdimen\bio@th \newdimen\bio@lhA \newdimen\bio@hA \newdimen\bio@hB
|
|
1569 \newdimen\bio@lh \newdimen\bio@rh
|
|
1570 \newdimen\bio@tempdim
|
|
1571 \newif\ifbio@awful
|
|
1572 \newinsert\bio@pbox \count\bio@pbox\@ne
|
|
1573
|
|
1574 \def\bio@putbio{\let\@elt\relax \let\bio@vskip\relax \allowbreak
|
|
1575 \bio@colht\@colht \advance\bio@colht-\topskip
|
|
1576 \advance\bio@colht\baselineskip
|
|
1577 \@tempdima\bio@colht \advance\@tempdima-\@colroom
|
|
1578 \advance\@tempdima\pagetotal
|
|
1579 \if@firstcolumn
|
|
1580 \ifdim\@tempdima>\bio@th
|
|
1581 \global\@lastpagebalancingtrue
|
|
1582 {\let\@elt\bio@putelt\bio@list}\vskip-\baselineskip
|
|
1583 \else
|
|
1584 \ifdim\pagetotal=\z@\else
|
|
1585 \dimen\bio@pbox\@tempdima \advance\bio@th\@tempdima
|
|
1586 \edef\bio@list{\@elt\bio@pbox\bio@list}\fi
|
|
1587 \bio@splitheight\bio@colht \bio@splitpage
|
|
1588 \bio@splitheight.5\bio@th
|
|
1589 \let\bio@awfulput\bio@specialawfulput
|
|
1590 \bio@trybalance\fi
|
|
1591 \else \advance\@tempdima\bio@th
|
|
1592 \ifdim\@tempdima<\bio@colht
|
|
1593 \global\@lastpagebalancingtrue
|
|
1594 \ifdim\pagetotal=\z@ \global\opt@baselineskip2\baselineskip\fi
|
|
1595 {\let\@elt\bio@putelt\bio@list}\vskip-\baselineskip
|
|
1596 \else
|
|
1597 \let\bio@awfulput\bio@normalawfulput
|
|
1598 \bio@splitheight\z@ \advance\@tempdima-\bio@th
|
|
1599 \advance\bio@colht-\@tempdima \bio@splitpage
|
|
1600 {\let\@elt\bio@putelt\bio@list}\bio@nextpage
|
|
1601 \bio@trybalance\fi
|
|
1602 \fi}
|
|
1603
|
|
1604 \def\bio@trybalance{\bio@split
|
|
1605 \let\bio@right\bio@rightA \let\bio@left\bio@leftA
|
|
1606 \def\bio@rightx{}\def\bio@leftx{}%
|
|
1607 \let\bio@hX\bio@hA \bio@balance
|
|
1608 \let\bio@rightxA\bio@rightx \let\bio@leftxA\bio@leftx
|
|
1609 \ifbio@awful\@tempcnta\tw@\else\@tempcnta\z@\fi
|
|
1610 \let\bio@right\bio@rightB \let\bio@left\bio@leftB
|
|
1611 \def\bio@rightx{}\def\bio@leftx{}%
|
|
1612 \let\bio@hX\bio@hB \bio@balance
|
|
1613 \let\bio@rightxB\bio@rightx \let\bio@leftxB\bio@leftx
|
|
1614 \ifbio@awful\advance\@tempcnta\@ne\fi
|
|
1615 \ifcase\@tempcnta
|
|
1616 \ifdim\bio@hA<\bio@hB \bio@balanceput\bio@leftxA\bio@rightxA
|
|
1617 \else \bio@balanceput\bio@leftxB\bio@rightxB\fi
|
|
1618 \or \bio@balanceput\bio@leftxA\bio@rightxA
|
|
1619 \or \bio@balanceput\bio@leftxB\bio@rightxB
|
|
1620 \else \bio@awfulput\fi
|
|
1621 \ifx\bio@deferred\empty\vskip-\baselineskip\let\next\relax
|
|
1622 \else\bio@nextpage\let\next\bio@trybalance\fi\next}
|
|
1623
|
|
1624 \def\bio@split{\def\bio@leftA{}\def\bio@leftB{}%
|
|
1625 \def\bio@rightA{}\def\bio@rightB{}%
|
|
1626 \bio@lhA\z@\@tempdimb\z@ \bio@isplit}
|
|
1627 \def\bio@isplit{\ifx\bio@list\empty\let\next\relax\else
|
|
1628 \bio@car\@tempdima\@currbox\bio@list
|
|
1629 \bio@lhA\@tempdimb\advance\@tempdimb\@tempdima
|
|
1630 \edef\bio@leftB{\bio@leftB\@elt\@currbox}%
|
|
1631 \ifdim\@tempdimb>\bio@splitheight
|
|
1632 \edef\bio@rightA{\@elt\@currbox\bio@list}%
|
|
1633 \let\bio@rightB\bio@list \let\next\relax
|
|
1634 \else\edef\bio@leftA{\bio@leftA\@elt\@currbox}\let\next\bio@isplit
|
|
1635 \fi\fi\next}
|
|
1636
|
|
1637 \def\bio@balanceput#1#2{{\let\@elt\bio@putelt\let\bio@vskip\bio@xvskip
|
|
1638 #1\bio@newpage#2}}
|
|
1639 \def\bio@normalawfulput{{\let\bio@vskip\@gobble \@tempcnta\z@
|
|
1640 \@tempdima\z@ \bio@addheight\@tempdima\bio@leftxB
|
|
1641 \ifdim\@tempdima<\bio@colht
|
|
1642 \@tempdima\z@ \bio@addheight\@tempdima\bio@rightxB
|
|
1643 \ifdim\@tempdima<\bio@colht \@tempcnta\@ne
|
|
1644 \let\@elt\bio@putelt
|
|
1645 \bio@leftxB\bio@newpage\bio@rightxB\fi\fi
|
|
1646 \ifnum\@tempcnta=\z@
|
|
1647 \@tempdima\z@ \bio@addheight\@tempdima\bio@leftxA
|
|
1648 \ifdim\@tempdima<\bio@colht
|
|
1649 \@tempdima\z@\bio@addheight\@tempdima\bio@rightxA
|
|
1650 \ifdim\@tempdima<\bio@colht \@tempcnta\@ne
|
|
1651 \let\@elt\bio@putelt
|
|
1652 \bio@leftxA\bio@newpage\bio@rightxA\fi\fi\fi
|
|
1653 % The following may be redundant.
|
|
1654 \ifnum\@tempcnta=\z@
|
|
1655 \let\@elt\bio@putelt\bio@listsave\fi}}
|
|
1656 \def\bio@specialawfulput{{\advance\bio@th-\dimen\bio@pbox
|
|
1657 \ifdim\bio@th<\bio@colht\bio@newpage
|
|
1658 \let\bio@newpage\relax\fi\bio@normalawfulput}}
|
|
1659
|
|
1660 \def\bio@putelt#1{\ifnum\count#1>\z@\else\box#1
|
|
1661 \nobreak\vskip-2\baselineskip\prevdepth\z@\hbox{}
|
|
1662 \vskip\baselineskip\fi}
|
|
1663 \def\bio@xvskip#1{\vskip#1\prevdepth\z@}
|
|
1664 \def\bio@newpage{\vskip-\baselineskip\newpage}
|
|
1665
|
|
1666 \def\bio@nextpage{\bio@newpage \let\bio@list\bio@deferred
|
|
1667 \bio@th\z@ \bio@addheight\bio@th\bio@list
|
|
1668 \bio@colht\@colht \advance\bio@colht-\topskip
|
|
1669 \advance\bio@colht\baselineskip
|
|
1670 \bio@splitheight\bio@colht \bio@splitpage
|
|
1671 \bio@splitheight.5\bio@th
|
|
1672 \let\bio@awfulput\bio@normalawfulput}
|
|
1673 \def\bio@splitpage{\let\bio@listsave\bio@list \bio@split
|
|
1674 \@tempdima\bio@th \advance\@tempdima-\bio@lhA
|
|
1675 \ifdim\@tempdima>\bio@colht
|
|
1676 \let\bio@leftAsave\bio@leftA \bio@th\bio@lhA
|
|
1677 \let\bio@list\bio@rightA \bio@splitheight\bio@colht
|
|
1678 \bio@split \edef\bio@list{\bio@leftAsave\bio@leftA}%
|
|
1679 \advance\bio@th\bio@lhA
|
|
1680 \let\bio@deferred\bio@rightA
|
|
1681 \else\def\bio@deferred{}\let\bio@list\bio@listsave\fi}
|
|
1682
|
|
1683 % \bio@tolerablegap: maximum tolerable gap between adjacent bio's.
|
|
1684 % \bio@tolerablestretch:maximum stretch of a column.
|
|
1685
|
|
1686 \@tempdima10\baselineskip % This might be changed
|
|
1687 \edef\bio@tolerablegap{\the\@tempdima}
|
|
1688 \@tempdima15\baselineskip
|
|
1689 \edef\bio@tolerablelastgap{\the\@tempdima}
|
|
1690 \def\bio@tolerablestretch{2} % This might be changed
|
|
1691
|
|
1692 \def\bio@balance{\let\@elt\relax \edef\bio@bstack{%
|
|
1693 \@elt{{\bio@left}{\bio@right}{}{}{0pt}}}
|
|
1694 \bio@xbalance}
|
|
1695 \def\bio@xbalance{%
|
|
1696 \expandafter\bio@popstack\bio@bstack\@nil
|
|
1697 \let\bio@nextA\bio@xbalance \@tempdima\z@
|
|
1698 \ifx\bio@left\empty \ifx\bio@right\empty
|
|
1699 \let\bio@nextA\bio@balanceend
|
|
1700 \else
|
|
1701 \bio@addheight\@tempdima\bio@right
|
|
1702 \edef\bio@leftx{\bio@leftx\bio@vskip{\the\@tempdima}}%
|
|
1703 \advance\bio@hX\@tempdima
|
|
1704 \edef\bio@rightx{\bio@rightx\bio@right}\def\bio@right{}%
|
|
1705 \bio@pushstack \fi\else
|
|
1706 \ifx\bio@right\empty
|
|
1707 \bio@addheight\@tempdima\bio@left
|
|
1708 \edef\bio@rightx{\bio@rightx\bio@vskip{\the\@tempdima}}%
|
|
1709 \advance\bio@hX\@tempdima
|
|
1710 \edef\bio@leftx{\bio@leftx\bio@left}\def\bio@left{}%
|
|
1711 \bio@pushstack \else
|
|
1712 \bio@car\@tempdima\bio@leftbox\bio@left
|
|
1713 \bio@car\@tempdimb\bio@rightbox\bio@right
|
|
1714 \edef\bio@leftx{\bio@leftx\@elt\bio@leftbox}%
|
|
1715 \edef\bio@rightx{\bio@rightx\@elt\bio@rightbox}%
|
|
1716 \ifdim\@tempdima>\@tempdimb
|
|
1717 \advance\bio@hX\@tempdima
|
|
1718 \let\bio@da\@tempdima\let\bio@db\@tempdimb
|
|
1719 \bio@ibalance\bio@left\bio@right\bio@leftx\bio@rightx
|
|
1720 \else \advance\bio@hX\@tempdimb
|
|
1721 \let\bio@da\@tempdimb\let\bio@db\@tempdima
|
|
1722 \bio@ibalance\bio@right\bio@left\bio@rightx\bio@leftx\fi
|
|
1723 \fi\fi\bio@nextA}
|
|
1724 \def\bio@ibalance#1#2#3#4{\let\bio@nextB\relax
|
|
1725 \ifx#2\empty
|
|
1726 \advance\bio@da-\bio@db
|
|
1727 \edef#4{#4\bio@vskip{\the\bio@da}}\bio@pushstack\else
|
|
1728 \bio@car\bio@tempdim\@currbox#2 \advance\bio@db\bio@tempdim
|
|
1729 \ifdim\bio@da<\bio@db
|
|
1730 \advance\bio@db-\bio@da
|
|
1731 \let\@tempa#3\edef#3{#3\bio@vskip{\the\bio@db}}%
|
|
1732 \let\@tempb#4\edef#4{#4\@elt\@currbox}%
|
|
1733 \advance\bio@hX\bio@db \bio@pushstack
|
|
1734 \advance\bio@hX-\bio@db
|
|
1735 \edef#2{\@elt\@currbox#2}%
|
|
1736 \advance\bio@tempdim-\bio@db
|
|
1737 \let#3\@tempa \edef#4{\@tempb\bio@vskip{\the\bio@tempdim}}%
|
|
1738 \bio@pushstack
|
|
1739 \else \edef#4{#4\@elt\@currbox}\def\bio@nextB{\bio@ibalance#1#2#3#4}%
|
|
1740 \fi\fi\bio@nextB}
|
|
1741 \def\bio@balanceend{\bio@awfulfalse \def\bio@bstack{}%
|
|
1742 \bio@maxgap\z@ \bio@lastgap\z@
|
|
1743 \bio@checkgap\bio@leftx \bio@checkgap\bio@rightx
|
|
1744 \ifdim\bio@maxgap>\bio@tolerablegap\relax\bio@awfultrue\fi
|
|
1745 \ifdim\bio@lastgap>\bio@tolerablelastgap\relax\bio@awfultrue\fi
|
|
1746 \ifdim\bio@hX>\bio@tolerablestretch\bio@splitheight\bio@awfultrue\fi
|
|
1747 \ifdim\bio@hX>\bio@colht\bio@awfultrue\fi}
|
|
1748 \def\bio@checkgap#1{{\@tempdima\z@ \@tempdimb\z@ \bio@tempdim\z@
|
|
1749 \let\@elt\bio@cgelt \let\bio@vskip\bio@cgvskip #1\relax
|
|
1750 \ifdim\@tempdima>\bio@maxgap \global\bio@maxgap\@tempdima \fi
|
|
1751 \ifdim\bio@tempdim>\bio@lastgap \global\bio@lastgap\bio@tempdim \fi}}
|
|
1752 \def\bio@cgvskip#1{\advance\bio@tempdim#1\relax
|
|
1753 \ifdim\bio@tempdim>\@tempdimb \@tempdimb\bio@tempdim\fi}
|
|
1754 \def\bio@cgelt#1{\@tempdima\@tempdimb \bio@tempdim\z@}
|
|
1755 \def\bio@popstack\@elt#1#2\@nil{\edef\bio@bstack{#2}\bio@ipopstack#1}
|
|
1756 \def\bio@ipopstack#1#2#3#4#5{\def\bio@left{#1}\def\bio@right{#2}%
|
|
1757 \def\bio@leftx{#3}\def\bio@rightx{#4}\bio@hX#5\relax}
|
|
1758 \def\bio@pushstack{\def\bio@bstackx{}%
|
|
1759 \expandafter\bio@ipushstack\bio@bstack\@elt\@nil}
|
|
1760 \def\bio@ipushstack\@elt#1{\def\@tempc{#1}%
|
|
1761 \ifx\@tempc\@nnil \edef\bio@bstack{\bio@bstackx\bio@stackelt}%
|
|
1762 \let\bio@nextC\relax \else
|
|
1763 \bio@iipushstack#1\fi\bio@nextC}
|
|
1764 \def\bio@iipushstack#1#2#3#4#5{\ifdim#5>\bio@hX
|
|
1765 \edef\bio@bstackx{\bio@bstackx\bio@stackelt
|
|
1766 \@elt{{#1}{#2}{#3}{#4}{#5}}}%
|
|
1767 \let\bio@nextC\bio@pushstackend\else
|
|
1768 \edef\bio@bstackx{\bio@bstackx
|
|
1769 \@elt{{#1}{#2}{#3}{#4}{#5}}}%
|
|
1770 \let\bio@nextC\bio@ipushstack\fi}
|
|
1771 \def\bio@pushstackend#1\@elt\@nil{\edef\bio@bstack{\bio@bstackx#1}}
|
|
1772 \def\bio@stackelt{\@elt{{\bio@left}{\bio@right}{\bio@leftx}{\bio@rightx}%
|
|
1773 {\the\bio@hX}}}
|
|
1774 \def\bio@addheight#1#2{\def\@elt##1{\advance#1\dimen##1}#2\let\@elt\relax}
|
|
1775 \def\bio@car#1#2#3{\expandafter\bio@icar#3\@nil#1#2#3}
|
|
1776 \def\bio@icar\@elt#1#2\@nil#3#4#5{#3=\dimen#1\relax\def#4{#1}\def#5{#2}}
|
|
1777
|
|
1778
|
|
1779 %%%%%% Miscellaneous %%%%%%
|
|
1780
|
|
1781 \flushbottom
|
|
1782
|
|
1783 \ifDS@english
|
|
1784 \hbadness9999 \tolerance9999
|
|
1785 \else
|
|
1786 \hbadness5000 \tolerance5000
|
|
1787 \pretolerance\m@ne
|
|
1788 \fi
|
|
1789
|
|
1790 \input{ipsjcommon.sty}
|
|
1791
|
|
1792 \twocolumn
|
|
1793
|
|
1794 \endinput
|