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