comparison Paper/ipsjdrafts.sty @ 0:58c6244a184d

programming symposium
author e095732 <e095732@ie.u-ryukyu.ac.jp>
date Thu, 15 Nov 2012 19:20:01 +0900
parents
children 88a77b2c92ea
comparison
equal deleted inserted replaced
-1:000000000000 0:58c6244a184d
1 % Copyright (C) 1995,1996,1997,1998,1999,2000,2001
2 % by Hiroshi Nakashima, Yasuki Saito and
3 % The Editorial Board of the IPSJ Journal
4 %
5 % ipsjdrafts.sty 5-Jun-00 by Hiroshi Nakashima (ver 2.07)
6 % (revision history deleted)
7 % ipsjdrafts.sty 24-Apr-95 by Hiroshi Nakashima (ver 1.0)
8
9 %%%%%% Fonts %%%%%%
10 % All font loading are removed.
11
12 \ifASCII
13
14 \let\latex@setsize\@setsize
15 \def\@setsize#1#2#3#4{\latex@setsize{#1}{#2}{#3}{#4}\jspaceskip1zw}
16
17 \newcount\jfsize
18 \let\setjglues\relax
19 \let\jintercharskip\kanjiskip
20 \let\jasciikanjiskip\xkanjiskip
21 \let\jmathkanjiskip\xkanjiskip
22 \newdimen\jspaceskip
23
24 \def\defjintercharskip#1#2#3#4{\@asciiwarning{\defjintercharskip}}
25 \def\defjasciikanjiskip#1#2#3#4{\@asciiwarning{\defjasciicharskip}}
26 \def\defmathkanjiskip#1#2#3#4{\@asciiwarning{\defmathcharskip}}
27 \def\defjspaceskip#1#2#3#4{\@asciiwarning{\defjspaceskip}}
28
29 \def\@asciiwarning#1{\ipsj@warning{\string#1\space % 2.00(1)
30 is not supported in ASCII version}}
31
32 \if@LaTeX@eN % 2.00(2)>>
33 \DeclareOldFontCommand{\mc}{\normalfont\mcfamily}{\mathmc}
34 \DeclareOldFontCommand{\gt}{\normalfont\gtfamily}{\mathgt}
35 \fi % 2.00(2)<<
36
37 \def\dg{\gt} % 1.06(1)
38 \def\dm{\mc} % 1.06(1)
39
40 \else % This is necessary even in 2e.
41 \ifx\sixdm\undefined \jfont\sixdm=dm6 \fi % 1.01(1)
42 % 1.06(2)
43 \fi
44
45 \if@LaTeX@eN % 2.00(2)>>
46 \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
47 \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
48 \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
49 \DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
50 \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
51 \DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
52 \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
53 \DeclareRobustCommand*{\cal}{\@fontswitch{\relax}{\mathcal}}
54 \DeclareRobustCommand*{\mit}{\@fontswitch{\relax}{\mathnormal}}
55 \fi % 2.00(2)<<
56
57 %%%%%% Basic Font Size Macros %%%%%%
58 % Nothing at all.
59
60
61 %%%%%% Font Size Macros %%%%%%
62
63 \def\fs@setsize#1#2#3#4{\normalsize\dimen@\normalbaselineskip
64 \@ifstar{\@setsize{#1}{\dimen@}{#3}{#4}}%
65 {\@setsize{#1}{#2}{#3}{#4}}}
66
67 % \baselineskip's are almost 1.25 times those defined in NTT jart12.
68
69 \def\@normalsize{\@setsize\normalsize{20pt}\xiipt\@xiipt}
70 \def\small{\fs@setsize\small{17pt}\xipt\@xipt}
71 \def\footnotesize{\fs@setsize\footnotesize{14pt}\xpt\@xpt}
72 \def\scriptsize{\@setsize\scriptsize{11.875pt}\viiipt\@viiipt}
73 \def\tiny{\@setsize\tiny{8.75pt}\vipt\@vipt}
74 \def\large{\@setsize\large{20pt}\xivpt\@xivpt} % 1.06(3)
75 \def\Large{\@setsize\Large{25pt}\xviipt\@xviipt}
76 \def\LARGE{\@setsize\LARGE{25pt}\xxpt\@xxpt}
77 \let\huge\LARGE
78 \let\Huge\LARGE
79
80 \if@LaTeX@e % 2.00(3)>>
81 \let\normalsize\@normalsize
82 \fi % 2.00(3)<<
83
84 \let\fs@sec\large
85 \let\fs@subsec\normalsize
86 \let\fs@bibliography\normalsize
87 \let\fs@caption\normalsize
88 \let\fs@table\normalsize
89 \let\fs@footnote\footnotesize
90 {\tiny \xdef\fn@fontv{\ifASCII \the\jfont \else \sixdm \fi}}
91 \let\fn@fontvi\fn@fontv
92
93 \@normalsize
94
95 \ifASCII\else % 1.06(2) >>
96 \ifx\setjglue\undefined\else % 2.04(1)
97 \def\@tempc{\edef\@tempa{\the\ja}
98 \edef\@tempa{\expandafter\string\@tempa}
99 \expandafter\@tempb\@tempa\@nil
100 \expandafter\defjintercharskip\csname\@tempa\endcsname}
101 \let\@tempd\@namedef
102 {\catcode`j=12\catcode`a=12\gdef\@tempb#1#2ja\@nil{\@tempd{@tempa}{#2}}}
103 \dg\@tempc{0pt}{1.4pt}{0.14pt}
104 \dm\@tempc{0pt}{1.4pt}{0.14pt}
105 \setjglues
106 \fi\fi % 1.06(2) <<
107
108 \@tempdima.55\baselineskip
109 \edef\sec@aboveskip{\the\@tempdima}
110 \@tempdima.45\baselineskip
111 \edef\sec@belowskip{\the\@tempdima}
112
113 \if@LaTeX@e\else % 2.04(2)
114 \let\latex@bf\bf % 1.06(1)
115 \def\bf{\dg\latex@bf} % 1.06(1)
116 \fi % 2.04(2)
117
118
119 %%%%%% Page Layout Parameters %%%%%%
120
121 \newdimen\@mojihaba
122 \@mojihaba\jspaceskip
123
124 % No heads
125 \headheight\z@
126 \headsep\z@
127
128 \setbox0\hbox{$\displaystyle X^X$}
129 \topskip\ht0
130
131 % 1 page = 32 lines
132 \textheight31\baselineskip \advance\textheight\topskip \advance\textheight100sp
133
134 % \topmargin is (A4height-\textheight)/2 - 1in
135 \topmargin296mm \advance\topmargin-\textheight \divide\topmargin\tw@
136 \advance\topmargin-1in
137 \ifASCII\if@LaTeX@e\@@topmargin\topmargin\fi\fi % 2.00(4)
138
139 \footskip 1.5\baselineskip
140
141 % 1 page = 35 Kanji chars
142 \ifDS@english % 1.06(4) >>
143 \textwidth404.13048pt
144 \else
145 \textwidth35\@mojihaba
146 \fi % 1.06(4) <<
147
148 % \oddsidemargin is (A4width-\textwidth)/2 - 1in
149 \oddsidemargin210mm \advance\oddsidemargin-\textwidth \divide\oddsidemargin\tw@
150 \advance\oddsidemargin-1in
151
152 % As jart12
153 \footnotesep10pt
154 \skip\footins 10.8pt plus 4pt minus 2pt
155 \def\footnoterule{\kern-3\p@ \hrule width.4\columnwidth \kern2.6\p@}
156
157 \floatsep \baselineskip \textfloatsep \baselineskip
158 \intextsep \baselineskip \@maxsep \baselineskip
159 \dblfloatsep \baselineskip \dbltextfloatsep \baselineskip
160 \@dblmaxsep \baselineskip
161 \@fptop 0pt plus 1fil \@fpsep 0pt plus 2fil \@fpbot 0pt plus 1fil
162 \@dblfptop 0pt plus 1fil \@dblfpsep 0pt plus 2fil \@dblfpbot 0pt plus 1fil
163
164 \parskip\z@ \parindent \@mojihaba
165 \@lowpenalty 51 \@medpenalty 151 \@highpenalty 301
166 \@beginparpenalty -\@lowpenalty \@endparpenalty -\@lowpenalty
167 \@itempenalty -\@lowpenalty
168
169
170 %%%%%% Title and Authors %%%%%%
171 %
172 % Format of title, author names and abstract.
173 %
174 % \leftline{\LARGE 論文}
175 % \vfill
176 % \beign{center}\LARGE\bf <Japanese title>\end{center}
177 % \vfill
178 % \begin{center}\LARGE\bf <Engilish title>\end{center}
179 % \vfill\vfill
180 % \newpage
181 % \large <Japanese author names>
182 % \vfill
183 % 連絡先
184 % \begin{itemize}\item[]\large <Contact address>\end{itemize}
185 % \vfill\vfill
186 % \newpage
187 % \normalsize <Japanese abstract>
188 % \normalsize <English abstract>
189
190 \def\maketitle{\@maketitle}
191
192 % default title header
193
194 \def\title{\@dblarg{\@xtitle}}
195 \def\@xtitle[#1]#2{\gdef\@title{#2}}
196 \def\@title{\leavevmode\mkt@warning\title}
197 \long\def\author#1{\long\gdef\@author{#1}}
198 \def\@author{\mkt@warning\author}
199
200 \newbox\@abstractbox
201
202 \def\abstract{\global\let\@abstract\relax
203 \global\setbox\@abstractbox\vtop\bgroup}
204 \def\endabstract{\par\hbox{}\egroup}
205 \def\@abstract{\mkt@warning{abstract env}}
206
207 %% We need English title, author name(s) and abstract. (H.N.)
208 %% English author names are simply ignored.
209 \def\etitle#1{\gdef\@etitle{#1}}
210 \def\@etitle{\leavevmode\mkt@warning\etitle}
211 \long\def\eauthor#1{}
212
213 \newbox\@eabstractbox
214 \def\eabstract{\global\let\@eabstract\relax
215 \global\setbox\@eabstractbox\vtop\bgroup}
216 \let\endeabstract\endabstract
217 \def\@eabstract{\mkt@warning{eabstract env}}
218
219 \ifDS@english \let\abstract\eabstract \let\@eabstract\@abstract \fi
220
221 % Contact address is required in draft.
222 \def\contact{\long\def\mkt@contact}
223 \def\mkt@contact{\leavevmode\mkt@warning\contact}
224
225 \def\mkt@warning#1{\ipsj@warning{Missing \string#1}} % 2.00(1)
226
227 \def\@maketitle{\newpage\thispagestyle{empty}
228 \leftline{\LARGE
229 \ifDS@english \ifDS@technote Technical Note\else
230 Regular Paper\fi
231 \else \ifDS@technote テクニカルノート\else 論文\fi\fi}
232 \vfill
233 \begin{center}\LARGE\bf\@title\end{center}
234 \ifDS@english\else
235 \vfill
236 \begin{center}\LARGE\bf\@etitle\end{center}\fi
237 \@thanks
238 \vfill\vfill
239 \newpage\thispagestyle{empty}
240 \begingroup\large\vspace*{\fill}\rightskip0pt plus1fil
241 \parindent\z@\parskip.5\baselineskip\hangindent2em\hangafter\@ne
242 \def\par{{\@@par}}
243 \mkt@makeauthor
244 \par\vfill
245 \noindent
246 \ifDS@english Contact To:\else 連絡先\fi
247 \endgroup
248 \begin{itemize}\large\item[]\mkt@contact\end{itemize}
249 \vfill\vfill\newpage \setcounter{page}{1}\def\thepage{\roman{page}}
250 \ifDS@english\else \@abstract \centerline{\bf 概要}
251 \vskip-\prevdepth\vskip\baselineskip\vskip-\ht\@abstractbox
252 \unvbox\@abstractbox\prevdepth\z@ \fi
253 \centerline{\bf Abstract}
254 \vskip-\prevdepth \vskip\baselineskip\vskip-\ht\@eabstractbox
255 \@eabstract \unvbox\@eabstractbox
256 \newpage \def\thepage{\arabic{page}}\setcounter{page}{1}}
257
258 \def\mkt@makeauthor{\let\member\mkt@member \let\nomember\mkt@nomember
259 \let\stmember\mkt@stmember
260 \expandafter\mkt@imakeauthor\@author\and\@nil\and}
261 \def\mkt@imakeauthor#1\and{\def\@tempa{#1}\ifx\@tempa\@nnil\let\next\relax
262 \else #1\par\let\next\mkt@imakeauthor\fi\next}
263
264 % Macros to specify author's affiliation easily.
265 \ifDS@english
266 \def\paffilabel#1#2{\affilabel{#1}{Presently with #2}}
267 \else
268 \def\paffilabel#1#2{\affilabel{#1}{現在 #2}}
269 \fi
270 % Ignore English affiliation even if given.
271 \def\affilabel#1#2{\@ifundefined{affi@r@#1}%
272 {\expandafter\xdef\csname affi@r@#1\endcsname
273 {\affi@cuteng#2\\\@nil}}
274 {\ipsj@warning{Affiliation label `#1' multiply defined}}}
275 % 2.00(1)
276 \def\affiref#1{\@ifundefined{affi@r@#1}%
277 {\ipsj@warning{% % 2.00(1)
278 Affiliation reference `#1' undefined}\hbox{(???)}}
279 {\setbox\@tempboxa\hbox{(\csname affi@r@#1\endcsname)}%
280 \@tempdima\wd\@tempboxa \advance\@tempdima2em\relax
281 \ifdim\@tempdima>\hsize
282 \newline\unhbox\@tempboxa
283 \else\ \box\@tempboxa\fi}}
284 \def\affi@cuteng#1\\#2\@nil{#1}
285
286 % Membership of aurthor is required in draft.
287 \ifDS@english
288 \def\mkt@member#1{\ \hbox{[Regular Member\##1]}}
289 \def\mkt@nomember{\ \hbox{[Non Member]}}
290 \def\mkt@stmember#1{\ \hbox{[Student Member\##1]}}
291 \else
292 \def\mkt@member#1{\ \hbox{[正会員\##1]}}
293 \def\mkt@nomember{\ \hbox{[非会員]}}
294 \def\mkt@stmember#1{\ \hbox{[学生会員\##1]}}
295 \fi
296
297 %%%%%% Page Header and Footer %%%%%%
298
299 \mark{{}{}}
300
301 % The following counters are not used, but may appear.
302 \let\c@volpage\c@page % 2.00(5)
303 \def\thevolpage{\thepage} % 2.00(5)
304 \newcounter{volpageoffset} % You must set this to appropriate value
305 \newcounter{volume}\expandafter\let\csname c@巻数\endcsname\c@volume
306 \newcounter{number}\expandafter\let\csname c@号数\endcsname\c@number
307 \newcounter{year}\expandafter\let\csname c@年数\endcsname\c@year
308
309 \def\ps@plain{\let\@mkboth\@gobbletwo
310 \def\@oddhead{\@checklines}\let\@evenhead\@oddhead
311 \def\@oddfoot{\rm \hfil\thepage\hfil}\let\@evenfoot\@oddfoot}
312
313 % \checklines enables to draw a horizontal rule onto each baselines.
314
315 \newif\if@checklines \@checklinesfalse
316 \def\checklines{\@checklinestrue}
317 \def\@checklines{\if@checklines \rlap{\smash{\vtop{
318 \hbox{} \vskip\headsep \hrule width\textwidth\vskip-.4pt \vskip\topskip
319 \hrule\vskip-.4pt
320 \@tempcnta31\relax\@@checklines}}}\hfil\fi}
321 \def\@@checklines{\ifnum\@tempcnta>\z@
322 \vskip\normalbaselineskip \hrule\vskip-.4pt \advance\@tempcnta\m@ne
323 \let\next\@@checklines\else\let\next\relax\fi\next}
324
325 \pagestyle{plain}
326 \pagenumbering{arabic}
327
328 \ifDS@english\else
329 \def\today{\the\year 年 \the\month 月 \the\day 日}
330 \fi
331
332
333 %%%%%% Output Routine %%%%%%
334 % Nothing at all.
335
336
337 %%%%%% Biography %%%%%%
338 % Almost nothing.
339
340 \def\受付#1#2#3{}\let\received\受付
341 \def\採録#1#2#3{}\let\accepted\採録
342
343 \def\biography{\let\member\@gobble \let\nomember\@gobble \let\stmember\@gobble
344 \let\adjust\@gobble \setbox0\vbox\bgroup
345 \tolerance\@M \hbadness\@M \hfuzz\maxdimen}
346 \def\endbiography{\egroup\setbox0\hbox{}}
347
348
349 %%%%%% Miscellaneous %%%%%%
350
351 \raggedbottom
352
353 \input{ipsjcommon.sty}
354
355 % Redefine \acknowledgment to put it separately.
356 \newbox\ack@box
357 \let\@acknowledgment\acknowledgment
358 \def\acknowledgment{\global\setbox\ack@box\vtop\bgroup\@acknowledgment}
359 \def\endacknowledgment{\par\egroup}
360
361 \let\id@enddocument\enddocument
362 \def\enddocument{\clearpage \unvbox\ack@box \id@enddocument}
363
364 \endinput