annotate paper/ipsjsort.bst @ 9:e17bc730af1a

separate folder
author sugi
date Tue, 02 Apr 2013 20:02:48 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9
e17bc730af1a separate folder
sugi
parents:
diff changeset
1 % ipsjsort.bst 15-Jun-07 by Hiroshi Nakashima (ver 2.12)
e17bc730af1a separate folder
sugi
parents:
diff changeset
2 % ipsjsort.bst 30-Jan-02 by Hiroshi Nakashima (ver 2.00)
e17bc730af1a separate folder
sugi
parents:
diff changeset
3 % ipsjsort.bst 28-Dec-93 by Hiroshi Nakashima (ver 1.00)
e17bc730af1a separate folder
sugi
parents:
diff changeset
4 % jssst.bst tomura@etl.go.jp (Satoru Tomura)
e17bc730af1a separate folder
sugi
parents:
diff changeset
5 % BibTeX standard bibliography style `jplain'
e17bc730af1a separate folder
sugi
parents:
diff changeset
6 % version 0.10 for JBibTeX versions 0.10 or later, JLaTeX version 2.09.
e17bc730af1a separate folder
sugi
parents:
diff changeset
7 % by Shouichi Matsui, matsui@denken.junet
e17bc730af1a separate folder
sugi
parents:
diff changeset
8
e17bc730af1a separate folder
sugi
parents:
diff changeset
9 ENTRY
e17bc730af1a separate folder
sugi
parents:
diff changeset
10 { address
e17bc730af1a separate folder
sugi
parents:
diff changeset
11 author
e17bc730af1a separate folder
sugi
parents:
diff changeset
12 booktitle
e17bc730af1a separate folder
sugi
parents:
diff changeset
13 chapter
e17bc730af1a separate folder
sugi
parents:
diff changeset
14 edition
e17bc730af1a separate folder
sugi
parents:
diff changeset
15 editor
e17bc730af1a separate folder
sugi
parents:
diff changeset
16 howpublished
e17bc730af1a separate folder
sugi
parents:
diff changeset
17 institution
e17bc730af1a separate folder
sugi
parents:
diff changeset
18 journal
e17bc730af1a separate folder
sugi
parents:
diff changeset
19 key
e17bc730af1a separate folder
sugi
parents:
diff changeset
20 month
e17bc730af1a separate folder
sugi
parents:
diff changeset
21 note
e17bc730af1a separate folder
sugi
parents:
diff changeset
22 number
e17bc730af1a separate folder
sugi
parents:
diff changeset
23 organization
e17bc730af1a separate folder
sugi
parents:
diff changeset
24 pages
e17bc730af1a separate folder
sugi
parents:
diff changeset
25 publisher
e17bc730af1a separate folder
sugi
parents:
diff changeset
26 school
e17bc730af1a separate folder
sugi
parents:
diff changeset
27 series
e17bc730af1a separate folder
sugi
parents:
diff changeset
28 title
e17bc730af1a separate folder
sugi
parents:
diff changeset
29 type
e17bc730af1a separate folder
sugi
parents:
diff changeset
30 volume
e17bc730af1a separate folder
sugi
parents:
diff changeset
31 year
e17bc730af1a separate folder
sugi
parents:
diff changeset
32 yomi
e17bc730af1a separate folder
sugi
parents:
diff changeset
33 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
34 {}
e17bc730af1a separate folder
sugi
parents:
diff changeset
35 { label }
e17bc730af1a separate folder
sugi
parents:
diff changeset
36
e17bc730af1a separate folder
sugi
parents:
diff changeset
37 INTEGERS { output.state before.all mid.sentence after.sentence after.block }
e17bc730af1a separate folder
sugi
parents:
diff changeset
38
e17bc730af1a separate folder
sugi
parents:
diff changeset
39 INTEGERS { before.year }
e17bc730af1a separate folder
sugi
parents:
diff changeset
40
e17bc730af1a separate folder
sugi
parents:
diff changeset
41 FUNCTION {init.state.consts}
e17bc730af1a separate folder
sugi
parents:
diff changeset
42 { #0 'before.all :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
43 #1 'mid.sentence :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
44 #2 'after.sentence :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
45 #3 'after.block :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
46 #4 'before.year := % 1.00(1)
e17bc730af1a separate folder
sugi
parents:
diff changeset
47 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
48
e17bc730af1a separate folder
sugi
parents:
diff changeset
49 STRINGS { s t }
e17bc730af1a separate folder
sugi
parents:
diff changeset
50
e17bc730af1a separate folder
sugi
parents:
diff changeset
51 FUNCTION {is.kanji}
e17bc730af1a separate folder
sugi
parents:
diff changeset
52 { is.kanji.str$ } % 1.00(2), 2.00(1)
e17bc730af1a separate folder
sugi
parents:
diff changeset
53
e17bc730af1a separate folder
sugi
parents:
diff changeset
54 FUNCTION {output.nonnull}
e17bc730af1a separate folder
sugi
parents:
diff changeset
55 { 's :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
56 output.state mid.sentence =
e17bc730af1a separate folder
sugi
parents:
diff changeset
57 { duplicate$ is.kanji % 2.00(2)
e17bc730af1a separate folder
sugi
parents:
diff changeset
58 { "," * write$ }
e17bc730af1a separate folder
sugi
parents:
diff changeset
59 { ", " * write$ }
e17bc730af1a separate folder
sugi
parents:
diff changeset
60 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
61 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
62 { output.state after.block =
e17bc730af1a separate folder
sugi
parents:
diff changeset
63 { add.period$ write$
e17bc730af1a separate folder
sugi
parents:
diff changeset
64 newline$
e17bc730af1a separate folder
sugi
parents:
diff changeset
65 "\newblock " write$
e17bc730af1a separate folder
sugi
parents:
diff changeset
66 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
67 { output.state before.all =
e17bc730af1a separate folder
sugi
parents:
diff changeset
68 'write$
e17bc730af1a separate folder
sugi
parents:
diff changeset
69 { output.state before.year = % 1.00(1)
e17bc730af1a separate folder
sugi
parents:
diff changeset
70 { " " * write$ }
e17bc730af1a separate folder
sugi
parents:
diff changeset
71 { add.period$ " " * write$ }
e17bc730af1a separate folder
sugi
parents:
diff changeset
72 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
73 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
74 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
75 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
76 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
77 mid.sentence 'output.state :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
78 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
79 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
80 s
e17bc730af1a separate folder
sugi
parents:
diff changeset
81 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
82
e17bc730af1a separate folder
sugi
parents:
diff changeset
83 FUNCTION {output}
e17bc730af1a separate folder
sugi
parents:
diff changeset
84 { duplicate$ empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
85 'pop$
e17bc730af1a separate folder
sugi
parents:
diff changeset
86 'output.nonnull
e17bc730af1a separate folder
sugi
parents:
diff changeset
87 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
88 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
89
e17bc730af1a separate folder
sugi
parents:
diff changeset
90 FUNCTION {required.argument}
e17bc730af1a separate folder
sugi
parents:
diff changeset
91 { 't :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
92 empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
93 {"Missing required argument " t * " in " * cite$ * warning$}
e17bc730af1a separate folder
sugi
parents:
diff changeset
94 'skip$
e17bc730af1a separate folder
sugi
parents:
diff changeset
95 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
96 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
97
e17bc730af1a separate folder
sugi
parents:
diff changeset
98 FUNCTION {required.exclusive.or.argument}
e17bc730af1a separate folder
sugi
parents:
diff changeset
99 { 't :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
100 empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
101 { 's :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
102 empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
103 { t " or " * s * " is missing in " * cite$ * warning$}
e17bc730af1a separate folder
sugi
parents:
diff changeset
104 'skip$
e17bc730af1a separate folder
sugi
parents:
diff changeset
105 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
106 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
107 { 's :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
108 empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
109 'skip$
e17bc730af1a separate folder
sugi
parents:
diff changeset
110 { "You can use only one of " t * " and " * s * " in " * cite$ * warning$}
e17bc730af1a separate folder
sugi
parents:
diff changeset
111 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
112 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
113 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
114 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
115
e17bc730af1a separate folder
sugi
parents:
diff changeset
116 FUNCTION {required.and.or.argument}
e17bc730af1a separate folder
sugi
parents:
diff changeset
117 { 't := empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
118 { 's := empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
119 { "there's no " t * " and/or " * s * cite$ * warning$ }
e17bc730af1a separate folder
sugi
parents:
diff changeset
120 'skip$
e17bc730af1a separate folder
sugi
parents:
diff changeset
121 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
122 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
123 { pop$ pop$ }
e17bc730af1a separate folder
sugi
parents:
diff changeset
124 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
125 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
126
e17bc730af1a separate folder
sugi
parents:
diff changeset
127 FUNCTION {optional.series.volume.number.argument}
e17bc730af1a separate folder
sugi
parents:
diff changeset
128 { series empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
129 { volume empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
130 { number empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
131 'skip$
e17bc730af1a separate folder
sugi
parents:
diff changeset
132 { "there's a number but no series in " cite$ * warning$ }
e17bc730af1a separate folder
sugi
parents:
diff changeset
133 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
134 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
135 { number empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
136 { "there's a volume but no series in " cite$ * warning$ }
e17bc730af1a separate folder
sugi
parents:
diff changeset
137 { "you can use only one of volume and number in " cite$ * warning$}
e17bc730af1a separate folder
sugi
parents:
diff changeset
138 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
139 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
140 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
141 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
142 { volume empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
143 { number empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
144 { "there's a series but neither volume nor number in " cite$ * warning$ }
e17bc730af1a separate folder
sugi
parents:
diff changeset
145 'skip$
e17bc730af1a separate folder
sugi
parents:
diff changeset
146 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
147 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
148 { number empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
149 'skip$
e17bc730af1a separate folder
sugi
parents:
diff changeset
150 { "you can use only one of volume and number in " cite$ * warning$ }
e17bc730af1a separate folder
sugi
parents:
diff changeset
151 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
152 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
153 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
154 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
155 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
156 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
157
e17bc730af1a separate folder
sugi
parents:
diff changeset
158 FUNCTION {output.bibitem}
e17bc730af1a separate folder
sugi
parents:
diff changeset
159 { newline$
e17bc730af1a separate folder
sugi
parents:
diff changeset
160 "\bibitem{" write$
e17bc730af1a separate folder
sugi
parents:
diff changeset
161 cite$ write$
e17bc730af1a separate folder
sugi
parents:
diff changeset
162 "}" write$
e17bc730af1a separate folder
sugi
parents:
diff changeset
163 newline$
e17bc730af1a separate folder
sugi
parents:
diff changeset
164 before.all 'output.state :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
165 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
166
e17bc730af1a separate folder
sugi
parents:
diff changeset
167 FUNCTION {fin.entry}
e17bc730af1a separate folder
sugi
parents:
diff changeset
168 { add.period$
e17bc730af1a separate folder
sugi
parents:
diff changeset
169 write$
e17bc730af1a separate folder
sugi
parents:
diff changeset
170 newline$
e17bc730af1a separate folder
sugi
parents:
diff changeset
171 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
172
e17bc730af1a separate folder
sugi
parents:
diff changeset
173 FUNCTION {new.block}
e17bc730af1a separate folder
sugi
parents:
diff changeset
174 { output.state before.all =
e17bc730af1a separate folder
sugi
parents:
diff changeset
175 'skip$
e17bc730af1a separate folder
sugi
parents:
diff changeset
176 { after.block 'output.state := }
e17bc730af1a separate folder
sugi
parents:
diff changeset
177 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
178 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
179
e17bc730af1a separate folder
sugi
parents:
diff changeset
180 FUNCTION {new.sentence}
e17bc730af1a separate folder
sugi
parents:
diff changeset
181 { output.state after.block =
e17bc730af1a separate folder
sugi
parents:
diff changeset
182 'skip$
e17bc730af1a separate folder
sugi
parents:
diff changeset
183 { output.state before.all =
e17bc730af1a separate folder
sugi
parents:
diff changeset
184 'skip$
e17bc730af1a separate folder
sugi
parents:
diff changeset
185 { after.sentence 'output.state := }
e17bc730af1a separate folder
sugi
parents:
diff changeset
186 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
187 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
188 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
189 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
190
e17bc730af1a separate folder
sugi
parents:
diff changeset
191 FUNCTION {not}
e17bc730af1a separate folder
sugi
parents:
diff changeset
192 { { #0 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
193 { #1 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
194 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
195 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
196
e17bc730af1a separate folder
sugi
parents:
diff changeset
197 FUNCTION {and}
e17bc730af1a separate folder
sugi
parents:
diff changeset
198 { 'skip$
e17bc730af1a separate folder
sugi
parents:
diff changeset
199 { pop$ #0 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
200 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
201 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
202
e17bc730af1a separate folder
sugi
parents:
diff changeset
203 FUNCTION {or}
e17bc730af1a separate folder
sugi
parents:
diff changeset
204 { { pop$ #1 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
205 'skip$
e17bc730af1a separate folder
sugi
parents:
diff changeset
206 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
207 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
208
e17bc730af1a separate folder
sugi
parents:
diff changeset
209 FUNCTION {new.block.checka}
e17bc730af1a separate folder
sugi
parents:
diff changeset
210 { empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
211 'skip$
e17bc730af1a separate folder
sugi
parents:
diff changeset
212 'new.block
e17bc730af1a separate folder
sugi
parents:
diff changeset
213 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
214 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
215
e17bc730af1a separate folder
sugi
parents:
diff changeset
216 FUNCTION {new.block.checkb}
e17bc730af1a separate folder
sugi
parents:
diff changeset
217 { empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
218 swap$ empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
219 and
e17bc730af1a separate folder
sugi
parents:
diff changeset
220 'skip$
e17bc730af1a separate folder
sugi
parents:
diff changeset
221 'new.block
e17bc730af1a separate folder
sugi
parents:
diff changeset
222 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
223 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
224
e17bc730af1a separate folder
sugi
parents:
diff changeset
225 FUNCTION {new.sentence.checka}
e17bc730af1a separate folder
sugi
parents:
diff changeset
226 { empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
227 'skip$
e17bc730af1a separate folder
sugi
parents:
diff changeset
228 'new.sentence
e17bc730af1a separate folder
sugi
parents:
diff changeset
229 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
230 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
231
e17bc730af1a separate folder
sugi
parents:
diff changeset
232 FUNCTION {new.sentence.checkb}
e17bc730af1a separate folder
sugi
parents:
diff changeset
233 { empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
234 swap$ empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
235 and
e17bc730af1a separate folder
sugi
parents:
diff changeset
236 'skip$
e17bc730af1a separate folder
sugi
parents:
diff changeset
237 'new.sentence
e17bc730af1a separate folder
sugi
parents:
diff changeset
238 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
239 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
240
e17bc730af1a separate folder
sugi
parents:
diff changeset
241 FUNCTION {field.or.null}
e17bc730af1a separate folder
sugi
parents:
diff changeset
242 { duplicate$ empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
243 { pop$ "" }
e17bc730af1a separate folder
sugi
parents:
diff changeset
244 'skip$
e17bc730af1a separate folder
sugi
parents:
diff changeset
245 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
246 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
247
e17bc730af1a separate folder
sugi
parents:
diff changeset
248 FUNCTION {emphasize}
e17bc730af1a separate folder
sugi
parents:
diff changeset
249 { duplicate$ empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
250 { pop$ "" }
e17bc730af1a separate folder
sugi
parents:
diff changeset
251 { duplicate$ is.kanji
e17bc730af1a separate folder
sugi
parents:
diff changeset
252 'skip$ % 1.00(3)
e17bc730af1a separate folder
sugi
parents:
diff changeset
253 { "{\em " swap$ * "}" * } % 2.00(3)
e17bc730af1a separate folder
sugi
parents:
diff changeset
254 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
255 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
256 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
257 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
258
e17bc730af1a separate folder
sugi
parents:
diff changeset
259 INTEGERS { nameptr namesleft numnames }
e17bc730af1a separate folder
sugi
parents:
diff changeset
260
e17bc730af1a separate folder
sugi
parents:
diff changeset
261 FUNCTION {format.names} % 1.00(4), 2.00(4)
e17bc730af1a separate folder
sugi
parents:
diff changeset
262 { 's :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
263 #1 'nameptr :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
264 s num.names$ 'numnames :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
265 numnames 'namesleft :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
266 { namesleft #0 > }
e17bc730af1a separate folder
sugi
parents:
diff changeset
267 { s nameptr "{ff}{ll}" format.name$ duplicate$ is.kanji
e17bc730af1a separate folder
sugi
parents:
diff changeset
268 { duplicate$ text.length$ #6 >
e17bc730af1a separate folder
sugi
parents:
diff changeset
269 { 't := }
e17bc730af1a separate folder
sugi
parents:
diff changeset
270 { pop$ s nameptr "{ff} {ll}" format.name$ 't := }
e17bc730af1a separate folder
sugi
parents:
diff changeset
271 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
272 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
273 { pop$ s nameptr "{vv }{ll}{, jj}{, f.}" format.name$ 't := }
e17bc730af1a separate folder
sugi
parents:
diff changeset
274 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
275 nameptr #1 >
e17bc730af1a separate folder
sugi
parents:
diff changeset
276 { namesleft #1 >
e17bc730af1a separate folder
sugi
parents:
diff changeset
277 { s is.kanji
e17bc730af1a separate folder
sugi
parents:
diff changeset
278 { "," }
e17bc730af1a separate folder
sugi
parents:
diff changeset
279 { ", " }
e17bc730af1a separate folder
sugi
parents:
diff changeset
280 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
281 * t * }
e17bc730af1a separate folder
sugi
parents:
diff changeset
282 { t "others" =
e17bc730af1a separate folder
sugi
parents:
diff changeset
283 { s is.kanji
e17bc730af1a separate folder
sugi
parents:
diff changeset
284 {"ほか" * }
e17bc730af1a separate folder
sugi
parents:
diff changeset
285 {" et al." * }
e17bc730af1a separate folder
sugi
parents:
diff changeset
286 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
287 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
288 { s is.kanji
e17bc730af1a separate folder
sugi
parents:
diff changeset
289 {"," * t * } % put "," here for Kanji (H.N.)
e17bc730af1a separate folder
sugi
parents:
diff changeset
290 {" and " * t * }
e17bc730af1a separate folder
sugi
parents:
diff changeset
291 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
292 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
293 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
294 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
295 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
296 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
297 't
e17bc730af1a separate folder
sugi
parents:
diff changeset
298 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
299 nameptr #1 + 'nameptr :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
300 namesleft #1 - 'namesleft :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
301 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
302 while$
e17bc730af1a separate folder
sugi
parents:
diff changeset
303 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
304
e17bc730af1a separate folder
sugi
parents:
diff changeset
305 FUNCTION {format.authors}
e17bc730af1a separate folder
sugi
parents:
diff changeset
306 { author empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
307 { "" }
e17bc730af1a separate folder
sugi
parents:
diff changeset
308 { author format.names }
e17bc730af1a separate folder
sugi
parents:
diff changeset
309 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
310 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
311
e17bc730af1a separate folder
sugi
parents:
diff changeset
312 FUNCTION {add.colon} % 2.00(5)
e17bc730af1a separate folder
sugi
parents:
diff changeset
313 { duplicate$ is.kanji
e17bc730af1a separate folder
sugi
parents:
diff changeset
314 { "\:" * } % 2.12(1)
e17bc730af1a separate folder
sugi
parents:
diff changeset
315 { ": " * }
e17bc730af1a separate folder
sugi
parents:
diff changeset
316 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
317 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
318
e17bc730af1a separate folder
sugi
parents:
diff changeset
319 FUNCTION {format.editors.inparen} % 2.00(6)
e17bc730af1a separate folder
sugi
parents:
diff changeset
320 { editor empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
321 { "" }
e17bc730af1a separate folder
sugi
parents:
diff changeset
322 { editor format.names
e17bc730af1a separate folder
sugi
parents:
diff changeset
323 editor num.names$ #1 >
e17bc730af1a separate folder
sugi
parents:
diff changeset
324 { editor is.kanji
e17bc730af1a separate folder
sugi
parents:
diff changeset
325 {",編" * } {", eds." *} if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
326 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
327 { editor is.kanji
e17bc730af1a separate folder
sugi
parents:
diff changeset
328 {",編" *} {", ed." *} if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
329 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
330 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
331 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
332 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
333 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
334
e17bc730af1a separate folder
sugi
parents:
diff changeset
335 FUNCTION {format.editors}
e17bc730af1a separate folder
sugi
parents:
diff changeset
336 { editor empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
337 { "" }
e17bc730af1a separate folder
sugi
parents:
diff changeset
338 { editor format.names
e17bc730af1a separate folder
sugi
parents:
diff changeset
339 editor num.names$ #1 >
e17bc730af1a separate folder
sugi
parents:
diff changeset
340 { editor is.kanji
e17bc730af1a separate folder
sugi
parents:
diff changeset
341 {"(編)" * } {"(eds.)" *} if$ % 2.00(7)
e17bc730af1a separate folder
sugi
parents:
diff changeset
342 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
343 { editor is.kanji
e17bc730af1a separate folder
sugi
parents:
diff changeset
344 {"(編)" *} {"(ed.)" *} if$ % 2.00(7)
e17bc730af1a separate folder
sugi
parents:
diff changeset
345 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
346 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
347 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
348 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
349 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
350
e17bc730af1a separate folder
sugi
parents:
diff changeset
351 FUNCTION {n.dashify}
e17bc730af1a separate folder
sugi
parents:
diff changeset
352 { 't :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
353 ""
e17bc730af1a separate folder
sugi
parents:
diff changeset
354 { t empty$ not }
e17bc730af1a separate folder
sugi
parents:
diff changeset
355 { t #1 #1 substring$ "-" =
e17bc730af1a separate folder
sugi
parents:
diff changeset
356 { t #1 #2 substring$ "--" = not
e17bc730af1a separate folder
sugi
parents:
diff changeset
357 { "--" *
e17bc730af1a separate folder
sugi
parents:
diff changeset
358 t #2 global.max$ substring$ 't :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
359 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
360 { { t #1 #1 substring$ "-" = }
e17bc730af1a separate folder
sugi
parents:
diff changeset
361 { "-" *
e17bc730af1a separate folder
sugi
parents:
diff changeset
362 t #2 global.max$ substring$ 't :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
363 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
364 while$
e17bc730af1a separate folder
sugi
parents:
diff changeset
365 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
366 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
367 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
368 { t #1 #1 substring$ *
e17bc730af1a separate folder
sugi
parents:
diff changeset
369 t #2 global.max$ substring$ 't :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
370 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
371 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
372 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
373 while$
e17bc730af1a separate folder
sugi
parents:
diff changeset
374 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
375
e17bc730af1a separate folder
sugi
parents:
diff changeset
376 FUNCTION {format.date}
e17bc730af1a separate folder
sugi
parents:
diff changeset
377 { before.year 'output.state := % 1.00(1)
e17bc730af1a separate folder
sugi
parents:
diff changeset
378 year empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
379 { month empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
380 { "" }
e17bc730af1a separate folder
sugi
parents:
diff changeset
381 { "there's a month but no year in " cite$ * warning$
e17bc730af1a separate folder
sugi
parents:
diff changeset
382 "" % 1.00(5)
e17bc730af1a separate folder
sugi
parents:
diff changeset
383 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
384 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
385 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
386 { "(" year ")" * * } % 1.00(5)
e17bc730af1a separate folder
sugi
parents:
diff changeset
387 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
388 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
389
e17bc730af1a separate folder
sugi
parents:
diff changeset
390 FUNCTION {tie.or.space.connect}
e17bc730af1a separate folder
sugi
parents:
diff changeset
391 { duplicate$ text.length$ #3 <
e17bc730af1a separate folder
sugi
parents:
diff changeset
392 { "~" }
e17bc730af1a separate folder
sugi
parents:
diff changeset
393 { "\ " } % 1.00(6)
e17bc730af1a separate folder
sugi
parents:
diff changeset
394 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
395 swap$ * *
e17bc730af1a separate folder
sugi
parents:
diff changeset
396 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
397
e17bc730af1a separate folder
sugi
parents:
diff changeset
398 FUNCTION {output.volume}
e17bc730af1a separate folder
sugi
parents:
diff changeset
399 {
e17bc730af1a separate folder
sugi
parents:
diff changeset
400 volume empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
401 'skip$
e17bc730af1a separate folder
sugi
parents:
diff changeset
402 { "Vol.~" volume * output}
e17bc730af1a separate folder
sugi
parents:
diff changeset
403 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
404
e17bc730af1a separate folder
sugi
parents:
diff changeset
405 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
406
e17bc730af1a separate folder
sugi
parents:
diff changeset
407 FUNCTION {output.number}
e17bc730af1a separate folder
sugi
parents:
diff changeset
408 {
e17bc730af1a separate folder
sugi
parents:
diff changeset
409 number empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
410 'skip$
e17bc730af1a separate folder
sugi
parents:
diff changeset
411 { "No.~" number * output}
e17bc730af1a separate folder
sugi
parents:
diff changeset
412 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
413 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
414
e17bc730af1a separate folder
sugi
parents:
diff changeset
415 FUNCTION {output.series.volume.number}
e17bc730af1a separate folder
sugi
parents:
diff changeset
416 { series empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
417 { output.volume
e17bc730af1a separate folder
sugi
parents:
diff changeset
418 output.number }
e17bc730af1a separate folder
sugi
parents:
diff changeset
419 { series is.kanji
e17bc730af1a separate folder
sugi
parents:
diff changeset
420 volume empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
421 number empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
422 or
e17bc730af1a separate folder
sugi
parents:
diff changeset
423 and
e17bc730af1a separate folder
sugi
parents:
diff changeset
424 { series " " * volume * number * output}
e17bc730af1a separate folder
sugi
parents:
diff changeset
425 { series output
e17bc730af1a separate folder
sugi
parents:
diff changeset
426 output.volume
e17bc730af1a separate folder
sugi
parents:
diff changeset
427 output.number}
e17bc730af1a separate folder
sugi
parents:
diff changeset
428 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
429 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
430 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
431 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
432
e17bc730af1a separate folder
sugi
parents:
diff changeset
433 FUNCTION {format.edition}
e17bc730af1a separate folder
sugi
parents:
diff changeset
434 { edition empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
435 { "" }
e17bc730af1a separate folder
sugi
parents:
diff changeset
436 { output.state mid.sentence =
e17bc730af1a separate folder
sugi
parents:
diff changeset
437 { edition "l" change.case$ " edition" * }
e17bc730af1a separate folder
sugi
parents:
diff changeset
438 { edition "t" change.case$ " edition" * }
e17bc730af1a separate folder
sugi
parents:
diff changeset
439 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
440 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
441 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
442 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
443
e17bc730af1a separate folder
sugi
parents:
diff changeset
444 INTEGERS { multiresult }
e17bc730af1a separate folder
sugi
parents:
diff changeset
445
e17bc730af1a separate folder
sugi
parents:
diff changeset
446 FUNCTION {multi.page.check}
e17bc730af1a separate folder
sugi
parents:
diff changeset
447 { 't :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
448 #0 'multiresult :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
449 { multiresult not
e17bc730af1a separate folder
sugi
parents:
diff changeset
450 t empty$ not
e17bc730af1a separate folder
sugi
parents:
diff changeset
451 and
e17bc730af1a separate folder
sugi
parents:
diff changeset
452 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
453 { t #1 #1 substring$
e17bc730af1a separate folder
sugi
parents:
diff changeset
454 duplicate$ "-" =
e17bc730af1a separate folder
sugi
parents:
diff changeset
455 swap$ duplicate$ "," =
e17bc730af1a separate folder
sugi
parents:
diff changeset
456 swap$ "+" =
e17bc730af1a separate folder
sugi
parents:
diff changeset
457 or or
e17bc730af1a separate folder
sugi
parents:
diff changeset
458 { #1 'multiresult := }
e17bc730af1a separate folder
sugi
parents:
diff changeset
459 { t #2 global.max$ substring$ 't := }
e17bc730af1a separate folder
sugi
parents:
diff changeset
460 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
461 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
462 while$
e17bc730af1a separate folder
sugi
parents:
diff changeset
463 multiresult
e17bc730af1a separate folder
sugi
parents:
diff changeset
464 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
465
e17bc730af1a separate folder
sugi
parents:
diff changeset
466 FUNCTION {format.pages} % 1.00(7)
e17bc730af1a separate folder
sugi
parents:
diff changeset
467 { pages empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
468 { "" }
e17bc730af1a separate folder
sugi
parents:
diff changeset
469 { pages multi.page.check
e17bc730af1a separate folder
sugi
parents:
diff changeset
470 { "pp." pages n.dashify tie.or.space.connect }
e17bc730af1a separate folder
sugi
parents:
diff changeset
471 { "p." pages tie.or.space.connect }
e17bc730af1a separate folder
sugi
parents:
diff changeset
472 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
473 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
474 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
475 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
476
e17bc730af1a separate folder
sugi
parents:
diff changeset
477 FUNCTION {format.vol.num.pages} % 1.00(8)
e17bc730af1a separate folder
sugi
parents:
diff changeset
478 { volume empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
479 { ""}
e17bc730af1a separate folder
sugi
parents:
diff changeset
480 { " Vol.~" volume * }
e17bc730af1a separate folder
sugi
parents:
diff changeset
481 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
482 number empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
483 'skip$
e17bc730af1a separate folder
sugi
parents:
diff changeset
484 { volume empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
485 { "there's a number but no volume in " cite$ * warning$ }
e17bc730af1a separate folder
sugi
parents:
diff changeset
486 { "," *}
e17bc730af1a separate folder
sugi
parents:
diff changeset
487 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
488 " No.~" number * *
e17bc730af1a separate folder
sugi
parents:
diff changeset
489 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
490 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
491 pages empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
492 'skip$
e17bc730af1a separate folder
sugi
parents:
diff changeset
493 { duplicate$ empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
494 { pop$ format.pages }
e17bc730af1a separate folder
sugi
parents:
diff changeset
495 { ", " * format.pages * }
e17bc730af1a separate folder
sugi
parents:
diff changeset
496 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
497 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
498 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
499 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
500
e17bc730af1a separate folder
sugi
parents:
diff changeset
501 FUNCTION {format.chapter.pages}
e17bc730af1a separate folder
sugi
parents:
diff changeset
502 { chapter empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
503 'format.pages
e17bc730af1a separate folder
sugi
parents:
diff changeset
504 { type empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
505 { "chapter" chapter tie.or.space.connect }
e17bc730af1a separate folder
sugi
parents:
diff changeset
506 { type is.kanji
e17bc730af1a separate folder
sugi
parents:
diff changeset
507 { chapter type tie.or.space.connect }
e17bc730af1a separate folder
sugi
parents:
diff changeset
508 { type "l" change.case$ chapter tie.or.space.connect }
e17bc730af1a separate folder
sugi
parents:
diff changeset
509 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
510 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
511 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
512 pages empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
513 'skip$
e17bc730af1a separate folder
sugi
parents:
diff changeset
514 { ", " * format.pages * }
e17bc730af1a separate folder
sugi
parents:
diff changeset
515 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
516 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
517 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
518 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
519
e17bc730af1a separate folder
sugi
parents:
diff changeset
520 FUNCTION {format.in.ed.booktitle}
e17bc730af1a separate folder
sugi
parents:
diff changeset
521 { booktitle empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
522 { "" }
e17bc730af1a separate folder
sugi
parents:
diff changeset
523 { booktitle emphasize
e17bc730af1a separate folder
sugi
parents:
diff changeset
524 editor empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
525 'skip$
e17bc730af1a separate folder
sugi
parents:
diff changeset
526 { booktitle is.kanji
e17bc730af1a separate folder
sugi
parents:
diff changeset
527 { "(" * format.editors.inparen * ")" *} % 2.00(6,7)
e17bc730af1a separate folder
sugi
parents:
diff changeset
528 { " (" * format.editors.inparen * ")" *} % 1.00(9), 2.00(6)
e17bc730af1a separate folder
sugi
parents:
diff changeset
529 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
530 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
531 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
532 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
533 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
534 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
535
e17bc730af1a separate folder
sugi
parents:
diff changeset
536 FUNCTION {empty.misc.check}
e17bc730af1a separate folder
sugi
parents:
diff changeset
537 { author empty$ title empty$ howpublished empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
538 month empty$ year empty$ note empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
539 and and and and and
e17bc730af1a separate folder
sugi
parents:
diff changeset
540 key empty$ not and
e17bc730af1a separate folder
sugi
parents:
diff changeset
541 { "all relevant fields are empty in " cite$ * warning$ }
e17bc730af1a separate folder
sugi
parents:
diff changeset
542 'skip$
e17bc730af1a separate folder
sugi
parents:
diff changeset
543 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
544 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
545
e17bc730af1a separate folder
sugi
parents:
diff changeset
546 FUNCTION {format.thesis.type}
e17bc730af1a separate folder
sugi
parents:
diff changeset
547 { type empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
548 'skip$
e17bc730af1a separate folder
sugi
parents:
diff changeset
549 { pop$
e17bc730af1a separate folder
sugi
parents:
diff changeset
550 type "t" change.case$
e17bc730af1a separate folder
sugi
parents:
diff changeset
551 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
552 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
553 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
554
e17bc730af1a separate folder
sugi
parents:
diff changeset
555 FUNCTION {format.tr.number}
e17bc730af1a separate folder
sugi
parents:
diff changeset
556 { type empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
557 { title empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
558 { "Technical Report" }
e17bc730af1a separate folder
sugi
parents:
diff changeset
559 { title is.kanji
e17bc730af1a separate folder
sugi
parents:
diff changeset
560 { "技術報告" }
e17bc730af1a separate folder
sugi
parents:
diff changeset
561 { "Technical Report" }
e17bc730af1a separate folder
sugi
parents:
diff changeset
562 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
563 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
564 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
565 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
566 {type}
e17bc730af1a separate folder
sugi
parents:
diff changeset
567 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
568 number empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
569 { "t" change.case$ }
e17bc730af1a separate folder
sugi
parents:
diff changeset
570 { " " number * * }
e17bc730af1a separate folder
sugi
parents:
diff changeset
571 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
572 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
573
e17bc730af1a separate folder
sugi
parents:
diff changeset
574 FUNCTION {format.article.crossref} % 2.00(8)
e17bc730af1a separate folder
sugi
parents:
diff changeset
575 { key empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
576 { journal empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
577 { "need key or journal for " cite$ * " to crossref " * crossref *
e17bc730af1a separate folder
sugi
parents:
diff changeset
578 warning$
e17bc730af1a separate folder
sugi
parents:
diff changeset
579 ""
e17bc730af1a separate folder
sugi
parents:
diff changeset
580 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
581 { journal emphasize } % 1.00(10)
e17bc730af1a separate folder
sugi
parents:
diff changeset
582 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
583 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
584 { "In " key * }
e17bc730af1a separate folder
sugi
parents:
diff changeset
585 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
586 " \cite{" * crossref * "}" *
e17bc730af1a separate folder
sugi
parents:
diff changeset
587 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
588
e17bc730af1a separate folder
sugi
parents:
diff changeset
589 FUNCTION {format.crossref.editor} % 1.00(11)
e17bc730af1a separate folder
sugi
parents:
diff changeset
590 { editor #1
e17bc730af1a separate folder
sugi
parents:
diff changeset
591 editor is.kanji { "{ff}" } { "{vv }{ll}" } if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
592 format.name$
e17bc730af1a separate folder
sugi
parents:
diff changeset
593 editor num.names$ duplicate$
e17bc730af1a separate folder
sugi
parents:
diff changeset
594 #2 >
e17bc730af1a separate folder
sugi
parents:
diff changeset
595 { editor is.kanji
e17bc730af1a separate folder
sugi
parents:
diff changeset
596 {pop$ "ほか" *} {pop$ " et al." * } if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
597 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
598 { #2 <
e17bc730af1a separate folder
sugi
parents:
diff changeset
599 'skip$
e17bc730af1a separate folder
sugi
parents:
diff changeset
600 { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
e17bc730af1a separate folder
sugi
parents:
diff changeset
601 { editor is.kanji
e17bc730af1a separate folder
sugi
parents:
diff changeset
602 {"ほか" *} {" et al." * } if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
603 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
604 { editor is.kanji
e17bc730af1a separate folder
sugi
parents:
diff changeset
605 {"・" * editor #2 "{ff}" format.name$ * }
e17bc730af1a separate folder
sugi
parents:
diff changeset
606 {" and " * editor #2 "{vv }{ll}" format.name$ * }
e17bc730af1a separate folder
sugi
parents:
diff changeset
607 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
608 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
609 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
610 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
611 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
612 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
613 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
614 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
615
e17bc730af1a separate folder
sugi
parents:
diff changeset
616 FUNCTION {format.book.crossref} % 2.00(8)
e17bc730af1a separate folder
sugi
parents:
diff changeset
617 { editor empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
618 editor field.or.null author field.or.null =
e17bc730af1a separate folder
sugi
parents:
diff changeset
619 or
e17bc730af1a separate folder
sugi
parents:
diff changeset
620 { key empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
621 { series empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
622 { "need editor, key, or series for " cite$ * " to crossref " *
e17bc730af1a separate folder
sugi
parents:
diff changeset
623 crossref * warning$
e17bc730af1a separate folder
sugi
parents:
diff changeset
624 ""
e17bc730af1a separate folder
sugi
parents:
diff changeset
625 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
626 { series emphasize } % 1.00(10)
e17bc730af1a separate folder
sugi
parents:
diff changeset
627 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
628 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
629 { "In " key * }
e17bc730af1a separate folder
sugi
parents:
diff changeset
630 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
631 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
632 { format.crossref.editor }
e17bc730af1a separate folder
sugi
parents:
diff changeset
633 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
634 " \cite{" * crossref * "}" *
e17bc730af1a separate folder
sugi
parents:
diff changeset
635 volume empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
636 { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ }
e17bc730af1a separate folder
sugi
parents:
diff changeset
637 { duplicate$ is.kanji { "," } { ", "} if$ *
e17bc730af1a separate folder
sugi
parents:
diff changeset
638 "Vol." * volume tie.or.space.connect
e17bc730af1a separate folder
sugi
parents:
diff changeset
639 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
640 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
641 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
642
e17bc730af1a separate folder
sugi
parents:
diff changeset
643 FUNCTION {format.incoll.inproc.crossref} % 2.00(8)
e17bc730af1a separate folder
sugi
parents:
diff changeset
644 { editor empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
645 editor field.or.null author field.or.null =
e17bc730af1a separate folder
sugi
parents:
diff changeset
646 or
e17bc730af1a separate folder
sugi
parents:
diff changeset
647 { key empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
648 { booktitle empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
649 { "need editor, key, or booktitle for " cite$ * " to crossref " *
e17bc730af1a separate folder
sugi
parents:
diff changeset
650 crossref * warning$
e17bc730af1a separate folder
sugi
parents:
diff changeset
651 ""
e17bc730af1a separate folder
sugi
parents:
diff changeset
652 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
653 { booktitle emphasize } % 1.00(10)
e17bc730af1a separate folder
sugi
parents:
diff changeset
654 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
655 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
656 { "In " key * }
e17bc730af1a separate folder
sugi
parents:
diff changeset
657 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
658 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
659 { format.crossref.editor }
e17bc730af1a separate folder
sugi
parents:
diff changeset
660 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
661 " \cite{" * crossref * "}" *
e17bc730af1a separate folder
sugi
parents:
diff changeset
662 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
663
e17bc730af1a separate folder
sugi
parents:
diff changeset
664 FUNCTION {article}
e17bc730af1a separate folder
sugi
parents:
diff changeset
665 {
e17bc730af1a separate folder
sugi
parents:
diff changeset
666 %%%%
e17bc730af1a separate folder
sugi
parents:
diff changeset
667 author "author" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
668 title "title" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
669 journal "journal" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
670 year "year" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
671 %%%% jssst
e17bc730af1a separate folder
sugi
parents:
diff changeset
672 volume "volume"
e17bc730af1a separate folder
sugi
parents:
diff changeset
673 number "number"
e17bc730af1a separate folder
sugi
parents:
diff changeset
674 required.and.or.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
675 pages "pages" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
676 %%%%
e17bc730af1a separate folder
sugi
parents:
diff changeset
677 output.bibitem
e17bc730af1a separate folder
sugi
parents:
diff changeset
678 format.authors add.colon % 2.00(5)
e17bc730af1a separate folder
sugi
parents:
diff changeset
679 title output
e17bc730af1a separate folder
sugi
parents:
diff changeset
680 crossref missing$
e17bc730af1a separate folder
sugi
parents:
diff changeset
681 { journal emphasize output
e17bc730af1a separate folder
sugi
parents:
diff changeset
682 format.vol.num.pages output % 1.00(12)
e17bc730af1a separate folder
sugi
parents:
diff changeset
683 format.date output
e17bc730af1a separate folder
sugi
parents:
diff changeset
684 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
685 { format.article.crossref output.nonnull
e17bc730af1a separate folder
sugi
parents:
diff changeset
686 format.pages output
e17bc730af1a separate folder
sugi
parents:
diff changeset
687 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
688 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
689 new.block
e17bc730af1a separate folder
sugi
parents:
diff changeset
690 note output
e17bc730af1a separate folder
sugi
parents:
diff changeset
691 fin.entry
e17bc730af1a separate folder
sugi
parents:
diff changeset
692 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
693
e17bc730af1a separate folder
sugi
parents:
diff changeset
694 FUNCTION {book}
e17bc730af1a separate folder
sugi
parents:
diff changeset
695 {
e17bc730af1a separate folder
sugi
parents:
diff changeset
696 %%%%
e17bc730af1a separate folder
sugi
parents:
diff changeset
697 author "author"
e17bc730af1a separate folder
sugi
parents:
diff changeset
698 editor "editor"
e17bc730af1a separate folder
sugi
parents:
diff changeset
699 required.exclusive.or.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
700 title "title" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
701 publisher "publisher" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
702 year "year" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
703 optional.series.volume.number.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
704 %%%%
e17bc730af1a separate folder
sugi
parents:
diff changeset
705 output.bibitem
e17bc730af1a separate folder
sugi
parents:
diff changeset
706 author empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
707 { format.editors}
e17bc730af1a separate folder
sugi
parents:
diff changeset
708 { format.authors}
e17bc730af1a separate folder
sugi
parents:
diff changeset
709 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
710 add.colon % 2.00(5)
e17bc730af1a separate folder
sugi
parents:
diff changeset
711 title emphasize output
e17bc730af1a separate folder
sugi
parents:
diff changeset
712 crossref missing$
e17bc730af1a separate folder
sugi
parents:
diff changeset
713 { output.series.volume.number
e17bc730af1a separate folder
sugi
parents:
diff changeset
714 publisher output
e17bc730af1a separate folder
sugi
parents:
diff changeset
715 address output
e17bc730af1a separate folder
sugi
parents:
diff changeset
716 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
717 { new.block
e17bc730af1a separate folder
sugi
parents:
diff changeset
718 format.book.crossref output.nonnull
e17bc730af1a separate folder
sugi
parents:
diff changeset
719 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
720 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
721 format.edition output
e17bc730af1a separate folder
sugi
parents:
diff changeset
722 format.date output
e17bc730af1a separate folder
sugi
parents:
diff changeset
723 new.block
e17bc730af1a separate folder
sugi
parents:
diff changeset
724 note output
e17bc730af1a separate folder
sugi
parents:
diff changeset
725 fin.entry
e17bc730af1a separate folder
sugi
parents:
diff changeset
726 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
727
e17bc730af1a separate folder
sugi
parents:
diff changeset
728 FUNCTION {booklet}
e17bc730af1a separate folder
sugi
parents:
diff changeset
729 {
e17bc730af1a separate folder
sugi
parents:
diff changeset
730 %%%%
e17bc730af1a separate folder
sugi
parents:
diff changeset
731 title "title" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
732 %%%% jssst
e17bc730af1a separate folder
sugi
parents:
diff changeset
733 author "author" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
734 %%%%
e17bc730af1a separate folder
sugi
parents:
diff changeset
735 output.bibitem
e17bc730af1a separate folder
sugi
parents:
diff changeset
736 format.authors add.colon % 2.00(5)
e17bc730af1a separate folder
sugi
parents:
diff changeset
737 title output
e17bc730af1a separate folder
sugi
parents:
diff changeset
738 howpublished output
e17bc730af1a separate folder
sugi
parents:
diff changeset
739 address output
e17bc730af1a separate folder
sugi
parents:
diff changeset
740 format.date output
e17bc730af1a separate folder
sugi
parents:
diff changeset
741 new.block
e17bc730af1a separate folder
sugi
parents:
diff changeset
742 note output
e17bc730af1a separate folder
sugi
parents:
diff changeset
743 fin.entry
e17bc730af1a separate folder
sugi
parents:
diff changeset
744 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
745
e17bc730af1a separate folder
sugi
parents:
diff changeset
746 FUNCTION {inbook}
e17bc730af1a separate folder
sugi
parents:
diff changeset
747 {
e17bc730af1a separate folder
sugi
parents:
diff changeset
748 %%%%
e17bc730af1a separate folder
sugi
parents:
diff changeset
749 author "author"
e17bc730af1a separate folder
sugi
parents:
diff changeset
750 editor "editor"
e17bc730af1a separate folder
sugi
parents:
diff changeset
751 required.exclusive.or.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
752 title "title" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
753 chapter "chapter"
e17bc730af1a separate folder
sugi
parents:
diff changeset
754 pages "pages"
e17bc730af1a separate folder
sugi
parents:
diff changeset
755 required.and.or.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
756 publisher "publisher" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
757 year "year" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
758
e17bc730af1a separate folder
sugi
parents:
diff changeset
759 optional.series.volume.number.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
760 %%%%
e17bc730af1a separate folder
sugi
parents:
diff changeset
761 output.bibitem
e17bc730af1a separate folder
sugi
parents:
diff changeset
762 author empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
763 { format.editors}
e17bc730af1a separate folder
sugi
parents:
diff changeset
764 { format.authors}
e17bc730af1a separate folder
sugi
parents:
diff changeset
765 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
766 add.colon % 2.00(5)
e17bc730af1a separate folder
sugi
parents:
diff changeset
767 title emphasize output
e17bc730af1a separate folder
sugi
parents:
diff changeset
768 crossref missing$
e17bc730af1a separate folder
sugi
parents:
diff changeset
769 { output.series.volume.number
e17bc730af1a separate folder
sugi
parents:
diff changeset
770 format.chapter.pages output
e17bc730af1a separate folder
sugi
parents:
diff changeset
771 publisher output
e17bc730af1a separate folder
sugi
parents:
diff changeset
772 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
773 { format.chapter.pages output
e17bc730af1a separate folder
sugi
parents:
diff changeset
774 new.block
e17bc730af1a separate folder
sugi
parents:
diff changeset
775 format.book.crossref output.nonnull
e17bc730af1a separate folder
sugi
parents:
diff changeset
776 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
777 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
778 format.edition output
e17bc730af1a separate folder
sugi
parents:
diff changeset
779 format.date output % 1.00(13)
e17bc730af1a separate folder
sugi
parents:
diff changeset
780 new.block
e17bc730af1a separate folder
sugi
parents:
diff changeset
781 note output
e17bc730af1a separate folder
sugi
parents:
diff changeset
782 fin.entry
e17bc730af1a separate folder
sugi
parents:
diff changeset
783 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
784
e17bc730af1a separate folder
sugi
parents:
diff changeset
785 FUNCTION {incollection}
e17bc730af1a separate folder
sugi
parents:
diff changeset
786 {
e17bc730af1a separate folder
sugi
parents:
diff changeset
787 %%%%
e17bc730af1a separate folder
sugi
parents:
diff changeset
788 author "author" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
789 title "title" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
790 booktitle "booktitle" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
791 publisher "publisher" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
792 year "year" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
793
e17bc730af1a separate folder
sugi
parents:
diff changeset
794 optional.series.volume.number.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
795 %%%%
e17bc730af1a separate folder
sugi
parents:
diff changeset
796 output.bibitem
e17bc730af1a separate folder
sugi
parents:
diff changeset
797 format.authors add.colon % 2.00(5)
e17bc730af1a separate folder
sugi
parents:
diff changeset
798 title output
e17bc730af1a separate folder
sugi
parents:
diff changeset
799 crossref missing$
e17bc730af1a separate folder
sugi
parents:
diff changeset
800 { format.in.ed.booktitle output
e17bc730af1a separate folder
sugi
parents:
diff changeset
801 output.series.volume.number
e17bc730af1a separate folder
sugi
parents:
diff changeset
802 publisher output
e17bc730af1a separate folder
sugi
parents:
diff changeset
803 address output
e17bc730af1a separate folder
sugi
parents:
diff changeset
804 format.edition output
e17bc730af1a separate folder
sugi
parents:
diff changeset
805 format.chapter.pages output % 1.00(13)
e17bc730af1a separate folder
sugi
parents:
diff changeset
806 format.date output
e17bc730af1a separate folder
sugi
parents:
diff changeset
807 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
808 { format.incoll.inproc.crossref output.nonnull
e17bc730af1a separate folder
sugi
parents:
diff changeset
809 format.chapter.pages output
e17bc730af1a separate folder
sugi
parents:
diff changeset
810 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
811 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
812 new.block
e17bc730af1a separate folder
sugi
parents:
diff changeset
813 note output
e17bc730af1a separate folder
sugi
parents:
diff changeset
814 fin.entry
e17bc730af1a separate folder
sugi
parents:
diff changeset
815 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
816
e17bc730af1a separate folder
sugi
parents:
diff changeset
817 FUNCTION {inproceedings}
e17bc730af1a separate folder
sugi
parents:
diff changeset
818 {
e17bc730af1a separate folder
sugi
parents:
diff changeset
819 %%%%
e17bc730af1a separate folder
sugi
parents:
diff changeset
820 author "author" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
821 title "title" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
822 year "year" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
823
e17bc730af1a separate folder
sugi
parents:
diff changeset
824 optional.series.volume.number.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
825 %%%%
e17bc730af1a separate folder
sugi
parents:
diff changeset
826 output.bibitem
e17bc730af1a separate folder
sugi
parents:
diff changeset
827 format.authors add.colon % 2.00(5)
e17bc730af1a separate folder
sugi
parents:
diff changeset
828 title output
e17bc730af1a separate folder
sugi
parents:
diff changeset
829 crossref missing$
e17bc730af1a separate folder
sugi
parents:
diff changeset
830 { format.in.ed.booktitle output
e17bc730af1a separate folder
sugi
parents:
diff changeset
831 booktitle "booktitle" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
832 output.series.volume.number
e17bc730af1a separate folder
sugi
parents:
diff changeset
833 address output
e17bc730af1a separate folder
sugi
parents:
diff changeset
834 organization output
e17bc730af1a separate folder
sugi
parents:
diff changeset
835 publisher output
e17bc730af1a separate folder
sugi
parents:
diff changeset
836 format.pages output
e17bc730af1a separate folder
sugi
parents:
diff changeset
837 format.date output % 1.00(13)
e17bc730af1a separate folder
sugi
parents:
diff changeset
838 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
839 { format.incoll.inproc.crossref output.nonnull
e17bc730af1a separate folder
sugi
parents:
diff changeset
840 format.pages output
e17bc730af1a separate folder
sugi
parents:
diff changeset
841 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
842 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
843 new.block
e17bc730af1a separate folder
sugi
parents:
diff changeset
844 note output
e17bc730af1a separate folder
sugi
parents:
diff changeset
845 fin.entry
e17bc730af1a separate folder
sugi
parents:
diff changeset
846 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
847
e17bc730af1a separate folder
sugi
parents:
diff changeset
848 FUNCTION {conference} { inproceedings }
e17bc730af1a separate folder
sugi
parents:
diff changeset
849
e17bc730af1a separate folder
sugi
parents:
diff changeset
850 FUNCTION {manual}
e17bc730af1a separate folder
sugi
parents:
diff changeset
851 {
e17bc730af1a separate folder
sugi
parents:
diff changeset
852 %%%%
e17bc730af1a separate folder
sugi
parents:
diff changeset
853 title "title" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
854 %%%% jssst
e17bc730af1a separate folder
sugi
parents:
diff changeset
855 author "author"
e17bc730af1a separate folder
sugi
parents:
diff changeset
856 organization "organazaion"
e17bc730af1a separate folder
sugi
parents:
diff changeset
857 required.exclusive.or.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
858 %%%%
e17bc730af1a separate folder
sugi
parents:
diff changeset
859 output.bibitem
e17bc730af1a separate folder
sugi
parents:
diff changeset
860 author empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
861 { organization}
e17bc730af1a separate folder
sugi
parents:
diff changeset
862 { format.authors}
e17bc730af1a separate folder
sugi
parents:
diff changeset
863 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
864 add.colon % 2.00(5)
e17bc730af1a separate folder
sugi
parents:
diff changeset
865 title emphasize output
e17bc730af1a separate folder
sugi
parents:
diff changeset
866 author empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
867 'skip$
e17bc730af1a separate folder
sugi
parents:
diff changeset
868 { organization output }
e17bc730af1a separate folder
sugi
parents:
diff changeset
869 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
870 address output
e17bc730af1a separate folder
sugi
parents:
diff changeset
871 format.edition output
e17bc730af1a separate folder
sugi
parents:
diff changeset
872 format.date output
e17bc730af1a separate folder
sugi
parents:
diff changeset
873 new.block
e17bc730af1a separate folder
sugi
parents:
diff changeset
874 note output
e17bc730af1a separate folder
sugi
parents:
diff changeset
875 fin.entry
e17bc730af1a separate folder
sugi
parents:
diff changeset
876 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
877
e17bc730af1a separate folder
sugi
parents:
diff changeset
878 FUNCTION {mastersthesis}
e17bc730af1a separate folder
sugi
parents:
diff changeset
879 {
e17bc730af1a separate folder
sugi
parents:
diff changeset
880 %%%%
e17bc730af1a separate folder
sugi
parents:
diff changeset
881 author "author" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
882 title "title" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
883 school "school" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
884 year "year" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
885 %%%%
e17bc730af1a separate folder
sugi
parents:
diff changeset
886 output.bibitem
e17bc730af1a separate folder
sugi
parents:
diff changeset
887 format.authors add.colon % 2.00(5)
e17bc730af1a separate folder
sugi
parents:
diff changeset
888 title output
e17bc730af1a separate folder
sugi
parents:
diff changeset
889 author empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
890 { "Master's thesis" }
e17bc730af1a separate folder
sugi
parents:
diff changeset
891 { author is.kanji
e17bc730af1a separate folder
sugi
parents:
diff changeset
892 { "修士論文" }
e17bc730af1a separate folder
sugi
parents:
diff changeset
893 { "Master's thesis" }
e17bc730af1a separate folder
sugi
parents:
diff changeset
894 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
895 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
896 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
897 format.thesis.type output.nonnull
e17bc730af1a separate folder
sugi
parents:
diff changeset
898 school output
e17bc730af1a separate folder
sugi
parents:
diff changeset
899 address output
e17bc730af1a separate folder
sugi
parents:
diff changeset
900 format.date output
e17bc730af1a separate folder
sugi
parents:
diff changeset
901 new.block
e17bc730af1a separate folder
sugi
parents:
diff changeset
902 note output
e17bc730af1a separate folder
sugi
parents:
diff changeset
903 fin.entry
e17bc730af1a separate folder
sugi
parents:
diff changeset
904 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
905
e17bc730af1a separate folder
sugi
parents:
diff changeset
906 FUNCTION {misc}
e17bc730af1a separate folder
sugi
parents:
diff changeset
907 {
e17bc730af1a separate folder
sugi
parents:
diff changeset
908 %%%%
e17bc730af1a separate folder
sugi
parents:
diff changeset
909 %%%% jssst
e17bc730af1a separate folder
sugi
parents:
diff changeset
910 author "author" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
911 title "title" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
912 %%%%
e17bc730af1a separate folder
sugi
parents:
diff changeset
913 output.bibitem
e17bc730af1a separate folder
sugi
parents:
diff changeset
914 format.authors add.colon % 2.00(5)
e17bc730af1a separate folder
sugi
parents:
diff changeset
915 title output
e17bc730af1a separate folder
sugi
parents:
diff changeset
916 howpublished output
e17bc730af1a separate folder
sugi
parents:
diff changeset
917 format.date output
e17bc730af1a separate folder
sugi
parents:
diff changeset
918 new.block
e17bc730af1a separate folder
sugi
parents:
diff changeset
919 note output
e17bc730af1a separate folder
sugi
parents:
diff changeset
920 fin.entry
e17bc730af1a separate folder
sugi
parents:
diff changeset
921 empty.misc.check
e17bc730af1a separate folder
sugi
parents:
diff changeset
922 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
923
e17bc730af1a separate folder
sugi
parents:
diff changeset
924 FUNCTION {phdthesis}
e17bc730af1a separate folder
sugi
parents:
diff changeset
925 {
e17bc730af1a separate folder
sugi
parents:
diff changeset
926 %%%%
e17bc730af1a separate folder
sugi
parents:
diff changeset
927 author "author" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
928 title "title" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
929 school "school" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
930 year "year" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
931 %%%%
e17bc730af1a separate folder
sugi
parents:
diff changeset
932 output.bibitem
e17bc730af1a separate folder
sugi
parents:
diff changeset
933 format.authors add.colon % 2.00(5)
e17bc730af1a separate folder
sugi
parents:
diff changeset
934 title output % 2.00(9)
e17bc730af1a separate folder
sugi
parents:
diff changeset
935 author empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
936 { "PhD Thesis" }
e17bc730af1a separate folder
sugi
parents:
diff changeset
937 { author is.kanji
e17bc730af1a separate folder
sugi
parents:
diff changeset
938 { "博士論文" }
e17bc730af1a separate folder
sugi
parents:
diff changeset
939 { "PhD Thesis" }
e17bc730af1a separate folder
sugi
parents:
diff changeset
940 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
941 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
942 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
943 format.thesis.type output.nonnull
e17bc730af1a separate folder
sugi
parents:
diff changeset
944 school output
e17bc730af1a separate folder
sugi
parents:
diff changeset
945 address output
e17bc730af1a separate folder
sugi
parents:
diff changeset
946 format.date output
e17bc730af1a separate folder
sugi
parents:
diff changeset
947 new.block
e17bc730af1a separate folder
sugi
parents:
diff changeset
948 note output
e17bc730af1a separate folder
sugi
parents:
diff changeset
949 fin.entry
e17bc730af1a separate folder
sugi
parents:
diff changeset
950 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
951
e17bc730af1a separate folder
sugi
parents:
diff changeset
952 FUNCTION {proceedings}
e17bc730af1a separate folder
sugi
parents:
diff changeset
953 {
e17bc730af1a separate folder
sugi
parents:
diff changeset
954 %%%%
e17bc730af1a separate folder
sugi
parents:
diff changeset
955 title "title" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
956 year "year" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
957
e17bc730af1a separate folder
sugi
parents:
diff changeset
958 optional.series.volume.number.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
959 %%%% jssst
e17bc730af1a separate folder
sugi
parents:
diff changeset
960 editor "editor"
e17bc730af1a separate folder
sugi
parents:
diff changeset
961 organization "organization"
e17bc730af1a separate folder
sugi
parents:
diff changeset
962 required.exclusive.or.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
963 %%%%
e17bc730af1a separate folder
sugi
parents:
diff changeset
964 output.bibitem
e17bc730af1a separate folder
sugi
parents:
diff changeset
965 editor empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
966 { organization }
e17bc730af1a separate folder
sugi
parents:
diff changeset
967 { format.editors }
e17bc730af1a separate folder
sugi
parents:
diff changeset
968 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
969 add.colon % 2.00(5)
e17bc730af1a separate folder
sugi
parents:
diff changeset
970 title emphasize output
e17bc730af1a separate folder
sugi
parents:
diff changeset
971 output.series.volume.number
e17bc730af1a separate folder
sugi
parents:
diff changeset
972 address output
e17bc730af1a separate folder
sugi
parents:
diff changeset
973 editor empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
974 'skip$
e17bc730af1a separate folder
sugi
parents:
diff changeset
975 { organization output }
e17bc730af1a separate folder
sugi
parents:
diff changeset
976 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
977 publisher output
e17bc730af1a separate folder
sugi
parents:
diff changeset
978 format.date output
e17bc730af1a separate folder
sugi
parents:
diff changeset
979 new.block
e17bc730af1a separate folder
sugi
parents:
diff changeset
980 note output
e17bc730af1a separate folder
sugi
parents:
diff changeset
981 fin.entry
e17bc730af1a separate folder
sugi
parents:
diff changeset
982 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
983
e17bc730af1a separate folder
sugi
parents:
diff changeset
984 FUNCTION {techreport}
e17bc730af1a separate folder
sugi
parents:
diff changeset
985 {
e17bc730af1a separate folder
sugi
parents:
diff changeset
986 %%%%
e17bc730af1a separate folder
sugi
parents:
diff changeset
987 author "author" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
988 title "title" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
989 institution "institution" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
990 year "year" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
991 %%%%
e17bc730af1a separate folder
sugi
parents:
diff changeset
992 output.bibitem
e17bc730af1a separate folder
sugi
parents:
diff changeset
993 format.authors add.colon % 2.00(5)
e17bc730af1a separate folder
sugi
parents:
diff changeset
994 title output
e17bc730af1a separate folder
sugi
parents:
diff changeset
995 format.tr.number output.nonnull
e17bc730af1a separate folder
sugi
parents:
diff changeset
996 institution output
e17bc730af1a separate folder
sugi
parents:
diff changeset
997 address output
e17bc730af1a separate folder
sugi
parents:
diff changeset
998 format.date output
e17bc730af1a separate folder
sugi
parents:
diff changeset
999 new.block
e17bc730af1a separate folder
sugi
parents:
diff changeset
1000 note output
e17bc730af1a separate folder
sugi
parents:
diff changeset
1001 fin.entry
e17bc730af1a separate folder
sugi
parents:
diff changeset
1002 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1003
e17bc730af1a separate folder
sugi
parents:
diff changeset
1004 FUNCTION {unpublished}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1005 {
e17bc730af1a separate folder
sugi
parents:
diff changeset
1006 %%%%
e17bc730af1a separate folder
sugi
parents:
diff changeset
1007 author "author" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
1008 title "title" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
1009 note "note" required.argument
e17bc730af1a separate folder
sugi
parents:
diff changeset
1010 %%%%
e17bc730af1a separate folder
sugi
parents:
diff changeset
1011 output.bibitem
e17bc730af1a separate folder
sugi
parents:
diff changeset
1012 format.authors add.colon % 2.00(5)
e17bc730af1a separate folder
sugi
parents:
diff changeset
1013 title output
e17bc730af1a separate folder
sugi
parents:
diff changeset
1014 format.date output
e17bc730af1a separate folder
sugi
parents:
diff changeset
1015 new.block
e17bc730af1a separate folder
sugi
parents:
diff changeset
1016 note output
e17bc730af1a separate folder
sugi
parents:
diff changeset
1017 fin.entry
e17bc730af1a separate folder
sugi
parents:
diff changeset
1018 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1019
e17bc730af1a separate folder
sugi
parents:
diff changeset
1020 FUNCTION {default.type} { misc }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1021
e17bc730af1a separate folder
sugi
parents:
diff changeset
1022 MACRO {jan} {"January"}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1023
e17bc730af1a separate folder
sugi
parents:
diff changeset
1024 MACRO {feb} {"February"}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1025
e17bc730af1a separate folder
sugi
parents:
diff changeset
1026 MACRO {mar} {"March"}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1027
e17bc730af1a separate folder
sugi
parents:
diff changeset
1028 MACRO {apr} {"April"}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1029
e17bc730af1a separate folder
sugi
parents:
diff changeset
1030 MACRO {may} {"May"}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1031
e17bc730af1a separate folder
sugi
parents:
diff changeset
1032 MACRO {jun} {"June"}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1033
e17bc730af1a separate folder
sugi
parents:
diff changeset
1034 MACRO {jul} {"July"}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1035
e17bc730af1a separate folder
sugi
parents:
diff changeset
1036 MACRO {aug} {"August"}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1037
e17bc730af1a separate folder
sugi
parents:
diff changeset
1038 MACRO {sep} {"September"}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1039
e17bc730af1a separate folder
sugi
parents:
diff changeset
1040 MACRO {oct} {"October"}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1041
e17bc730af1a separate folder
sugi
parents:
diff changeset
1042 MACRO {nov} {"November"}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1043
e17bc730af1a separate folder
sugi
parents:
diff changeset
1044 MACRO {dec} {"December"}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1045
e17bc730af1a separate folder
sugi
parents:
diff changeset
1046 MACRO {acmcs} {"ACM Computing Surveys"}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1047
e17bc730af1a separate folder
sugi
parents:
diff changeset
1048 MACRO {acta} {"Acta Informatica"}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1049
e17bc730af1a separate folder
sugi
parents:
diff changeset
1050 MACRO {cacm} {"Communications of the ACM"}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1051
e17bc730af1a separate folder
sugi
parents:
diff changeset
1052 MACRO {ibmjrd} {"IBM Journal of Research and Development"}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1053
e17bc730af1a separate folder
sugi
parents:
diff changeset
1054 MACRO {ibmsj} {"IBM Systems Journal"}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1055
e17bc730af1a separate folder
sugi
parents:
diff changeset
1056 MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1057
e17bc730af1a separate folder
sugi
parents:
diff changeset
1058 MACRO {ieeetc} {"IEEE Transactions on Computers"}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1059
e17bc730af1a separate folder
sugi
parents:
diff changeset
1060 MACRO {ieeetcad}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1061 {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1062
e17bc730af1a separate folder
sugi
parents:
diff changeset
1063 MACRO {ipl} {"Information Processing Letters"}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1064
e17bc730af1a separate folder
sugi
parents:
diff changeset
1065 MACRO {jacm} {"Journal of the ACM"}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1066
e17bc730af1a separate folder
sugi
parents:
diff changeset
1067 MACRO {jcss} {"Journal of Computer and System Sciences"}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1068
e17bc730af1a separate folder
sugi
parents:
diff changeset
1069 MACRO {scp} {"Science of Computer Programming"}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1070
e17bc730af1a separate folder
sugi
parents:
diff changeset
1071 MACRO {sicomp} {"SIAM Journal on Computing"}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1072
e17bc730af1a separate folder
sugi
parents:
diff changeset
1073 MACRO {tocs} {"ACM Transactions on Computer Systems"}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1074
e17bc730af1a separate folder
sugi
parents:
diff changeset
1075 MACRO {tods} {"ACM Transactions on Database Systems"}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1076
e17bc730af1a separate folder
sugi
parents:
diff changeset
1077 MACRO {tog} {"ACM Transactions on Graphics"}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1078
e17bc730af1a separate folder
sugi
parents:
diff changeset
1079 MACRO {toms} {"ACM Transactions on Mathematical Software"}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1080
e17bc730af1a separate folder
sugi
parents:
diff changeset
1081 MACRO {toois} {"ACM Transactions on Office Information Systems"}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1082
e17bc730af1a separate folder
sugi
parents:
diff changeset
1083 MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1084
e17bc730af1a separate folder
sugi
parents:
diff changeset
1085 MACRO {tcs} {"Theoretical Computer Science"}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1086
e17bc730af1a separate folder
sugi
parents:
diff changeset
1087 READ
e17bc730af1a separate folder
sugi
parents:
diff changeset
1088
e17bc730af1a separate folder
sugi
parents:
diff changeset
1089 FUNCTION {sortify}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1090 { purify$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1091 "l" change.case$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1092 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1093
e17bc730af1a separate folder
sugi
parents:
diff changeset
1094 INTEGERS { len }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1095
e17bc730af1a separate folder
sugi
parents:
diff changeset
1096 FUNCTION {chop.word}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1097 { 's :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
1098 'len :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
1099 s #1 len substring$ =
e17bc730af1a separate folder
sugi
parents:
diff changeset
1100 { s len #1 + global.max$ substring$ }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1101 's
e17bc730af1a separate folder
sugi
parents:
diff changeset
1102 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1103 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1104
e17bc730af1a separate folder
sugi
parents:
diff changeset
1105 FUNCTION {sort.format.names}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1106 { 's :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
1107 yomi empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1108 'skip$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1109 { yomi 's := }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1110 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1111
e17bc730af1a separate folder
sugi
parents:
diff changeset
1112 #1 'nameptr :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
1113 ""
e17bc730af1a separate folder
sugi
parents:
diff changeset
1114 s num.names$ 'numnames :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
1115 numnames 'namesleft :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
1116 { namesleft #0 > }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1117 { nameptr #1 >
e17bc730af1a separate folder
sugi
parents:
diff changeset
1118 { " " * }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1119 'skip$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1120 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1121 s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
1122 nameptr numnames = t "others" = and
e17bc730af1a separate folder
sugi
parents:
diff changeset
1123 { "et al" * }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1124 { t sortify * }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1125 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1126 nameptr #1 + 'nameptr :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
1127 namesleft #1 - 'namesleft :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
1128 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1129 while$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1130 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1131
e17bc730af1a separate folder
sugi
parents:
diff changeset
1132 FUNCTION {sort.format.title}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1133 { 't :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
1134 "A " #2
e17bc730af1a separate folder
sugi
parents:
diff changeset
1135 "An " #3
e17bc730af1a separate folder
sugi
parents:
diff changeset
1136 "The " #4 t chop.word
e17bc730af1a separate folder
sugi
parents:
diff changeset
1137 chop.word
e17bc730af1a separate folder
sugi
parents:
diff changeset
1138 chop.word
e17bc730af1a separate folder
sugi
parents:
diff changeset
1139 sortify
e17bc730af1a separate folder
sugi
parents:
diff changeset
1140 #1 global.max$ substring$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1141 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1142
e17bc730af1a separate folder
sugi
parents:
diff changeset
1143 FUNCTION {author.sort}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1144 { author empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1145 { key empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1146 { "to sort, need author or key in " cite$ * warning$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1147 ""
e17bc730af1a separate folder
sugi
parents:
diff changeset
1148 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1149 { key sortify }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1150 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1151 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1152 { author sort.format.names }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1153 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1154 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1155
e17bc730af1a separate folder
sugi
parents:
diff changeset
1156 FUNCTION {author.editor.sort}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1157 { author empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1158 { editor empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1159 { key empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1160 { "to sort, need author, editor, or key in " cite$ * warning$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1161 ""
e17bc730af1a separate folder
sugi
parents:
diff changeset
1162 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1163 { key sortify }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1164 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1165 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1166 { editor sort.format.names }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1167 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1168 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1169 { author sort.format.names }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1170 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1171 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1172
e17bc730af1a separate folder
sugi
parents:
diff changeset
1173 FUNCTION {author.organization.sort}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1174 { author empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1175 { organization empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1176 { key empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1177 { "to sort, need author, organization, or key in " cite$ * warning$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1178 ""
e17bc730af1a separate folder
sugi
parents:
diff changeset
1179 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1180 { key sortify }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1181 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1182 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1183 { "The " #4 organization chop.word sortify }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1184 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1185 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1186 { author sort.format.names }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1187 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1188 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1189
e17bc730af1a separate folder
sugi
parents:
diff changeset
1190 FUNCTION {editor.organization.sort}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1191 { editor empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1192 { organization empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1193 { key empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1194 { "to sort, need editor, organization, or key in " cite$ * warning$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1195 ""
e17bc730af1a separate folder
sugi
parents:
diff changeset
1196 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1197 { key sortify }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1198 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1199 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1200 { "The " #4 organization chop.word sortify }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1201 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1202 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1203 { editor sort.format.names }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1204 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1205 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1206
e17bc730af1a separate folder
sugi
parents:
diff changeset
1207 FUNCTION {presort}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1208 { type$ "book" =
e17bc730af1a separate folder
sugi
parents:
diff changeset
1209 type$ "inbook" =
e17bc730af1a separate folder
sugi
parents:
diff changeset
1210 or
e17bc730af1a separate folder
sugi
parents:
diff changeset
1211 'author.editor.sort
e17bc730af1a separate folder
sugi
parents:
diff changeset
1212 { type$ "proceedings" =
e17bc730af1a separate folder
sugi
parents:
diff changeset
1213 'editor.organization.sort
e17bc730af1a separate folder
sugi
parents:
diff changeset
1214 { type$ "manual" =
e17bc730af1a separate folder
sugi
parents:
diff changeset
1215 'author.organization.sort
e17bc730af1a separate folder
sugi
parents:
diff changeset
1216 'author.sort
e17bc730af1a separate folder
sugi
parents:
diff changeset
1217 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1218 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1219 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1220 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1221 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1222 " "
e17bc730af1a separate folder
sugi
parents:
diff changeset
1223 *
e17bc730af1a separate folder
sugi
parents:
diff changeset
1224 year field.or.null sortify
e17bc730af1a separate folder
sugi
parents:
diff changeset
1225 *
e17bc730af1a separate folder
sugi
parents:
diff changeset
1226 " "
e17bc730af1a separate folder
sugi
parents:
diff changeset
1227 *
e17bc730af1a separate folder
sugi
parents:
diff changeset
1228 title field.or.null
e17bc730af1a separate folder
sugi
parents:
diff changeset
1229 sort.format.title
e17bc730af1a separate folder
sugi
parents:
diff changeset
1230 *
e17bc730af1a separate folder
sugi
parents:
diff changeset
1231 #1 entry.max$ substring$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1232 'sort.key$ :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
1233 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1234
e17bc730af1a separate folder
sugi
parents:
diff changeset
1235 ITERATE {presort}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1236
e17bc730af1a separate folder
sugi
parents:
diff changeset
1237 SORT
e17bc730af1a separate folder
sugi
parents:
diff changeset
1238
e17bc730af1a separate folder
sugi
parents:
diff changeset
1239 STRINGS { longest.label }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1240
e17bc730af1a separate folder
sugi
parents:
diff changeset
1241 INTEGERS { number.label longest.label.width }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1242
e17bc730af1a separate folder
sugi
parents:
diff changeset
1243 FUNCTION {initialize.longest.label}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1244 { "" 'longest.label :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
1245 #1 'number.label :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
1246 #0 'longest.label.width :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
1247 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1248
e17bc730af1a separate folder
sugi
parents:
diff changeset
1249 FUNCTION {longest.label.pass}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1250 { number.label int.to.str$ 'label :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
1251 number.label #1 + 'number.label :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
1252 label width$ longest.label.width >
e17bc730af1a separate folder
sugi
parents:
diff changeset
1253 { label 'longest.label :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
1254 label width$ 'longest.label.width :=
e17bc730af1a separate folder
sugi
parents:
diff changeset
1255 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1256 'skip$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1257 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1258 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1259
e17bc730af1a separate folder
sugi
parents:
diff changeset
1260 EXECUTE {initialize.longest.label}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1261
e17bc730af1a separate folder
sugi
parents:
diff changeset
1262 ITERATE {longest.label.pass}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1263
e17bc730af1a separate folder
sugi
parents:
diff changeset
1264 FUNCTION {begin.bib}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1265 { preamble$ empty$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1266 'skip$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1267 { preamble$ write$ newline$ }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1268 if$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1269 "\begin{thebibliography}{" longest.label * "}" * write$ newline$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1270 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1271
e17bc730af1a separate folder
sugi
parents:
diff changeset
1272 EXECUTE {begin.bib}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1273
e17bc730af1a separate folder
sugi
parents:
diff changeset
1274 EXECUTE {init.state.consts}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1275
e17bc730af1a separate folder
sugi
parents:
diff changeset
1276 ITERATE {call.type$}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1277
e17bc730af1a separate folder
sugi
parents:
diff changeset
1278 FUNCTION {end.bib}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1279 { newline$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1280 "\end{thebibliography}" write$ newline$
e17bc730af1a separate folder
sugi
parents:
diff changeset
1281 }
e17bc730af1a separate folder
sugi
parents:
diff changeset
1282
e17bc730af1a separate folder
sugi
parents:
diff changeset
1283 EXECUTE {end.bib}
e17bc730af1a separate folder
sugi
parents:
diff changeset
1284
e17bc730af1a separate folder
sugi
parents:
diff changeset
1285