comparison ipsjdrafts.sty @ 0:39af8ab46cbb

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