2 %% This is file `gENO.bst',
\r
3 %% generated with the docstrip utility.
\r
4 %% ----------------------------------------
\r
6 %% *** BibTeX style for Engineering Optimization ***
\r
8 % ===============================================================
\r
10 % This bibliographic style (bst) file has been generated from one or
\r
11 % more master bibliographic style (mbs) files.
\r
13 % This generated file can be redistributed and/or modified under the terms
\r
14 % of the LaTeX Project Public License Distributed from CTAN
\r
15 % archives in directory macros/latex/base/lppl.txt; either
\r
16 % version 1 of the License, or any later version.
\r
17 % ===============================================================
\r
18 % Name and version information of the main mbs file:
\r
19 % \ProvidesFile{merlin.mbs}[2011/11/18 4.33 (PWD, AO, DPC)]
\r
20 % For use with BibTeX version 0.99a or later
\r
21 % Copyright 1994-2011 Patrick W Daly
\r
22 %-------------------------------------------------------------------
\r
23 % This bibliography style file is intended for texts in ENGLISH
\r
24 % This is an author-year citation style bibliography. As such, it is
\r
25 % non-standard LaTeX, and requires a special package file to function properly.
\r
26 % Such a package is natbib.sty by Patrick W. Daly
\r
27 % The form of the \bibitem entries is
\r
28 % \bibitem[Jones et al.(1990)]{key}...
\r
29 % \bibitem[Jones et al.(1990)Jones, Baker, and Smith]{key}...
\r
30 % The essential feature is that the label (the part in brackets) consists
\r
31 % of the author names, as they should appear in the citation, with the year
\r
32 % in parentheses following. There must be no space before the opening
\r
34 % With natbib v5.3, a full list of authors may also follow the year.
\r
35 % In natbib.sty, it is possible to define the type of enclosures that is
\r
36 % really wanted (brackets or parentheses), but in either case, there must
\r
37 % be parentheses in the label.
\r
38 % The \cite command functions as follows:
\r
39 % \citet{key} ==>> Jones et al. (1990)
\r
40 % \citet*{key} ==>> Jones, Baker, and Smith (1990)
\r
41 % \citep{key} ==>> (Jones et al. 1990)
\r
42 % \citep*{key} ==>> (Jones, Baker, and Smith 1990)
\r
43 % \citep[chap. 2]{key} ==>> (Jones et al. 1990, chap. 2)
\r
44 % \citep[e.g.][]{key} ==>> (e.g. Jones et al. 1990)
\r
45 % \citep[e.g.][32]{key} ==>> (e.g. Jones et al. 1990, 32)
\r
46 % \citeauthor{key} ==>> Jones et al.
\r
47 % \citeauthor*{key} ==>> Jones, Baker, and Smith
\r
48 % \citeyear{key} ==>> 1990
\r
49 %---------------------------------------------------------------------
\r
85 { label extra.label sort.label short.list }
\r
86 INTEGERS { output.state before.all mid.sentence after.sentence after.block }
\r
87 FUNCTION {init.state.consts}
\r
90 #2 'after.sentence :=
\r
94 FUNCTION {output.nonnull}
\r
96 output.state mid.sentence =
\r
98 { output.state after.block =
\r
99 { add.period$ write$
\r
101 "\newblock " write$
\r
103 { output.state before.all =
\r
105 { add.period$ " " * write$ }
\r
109 mid.sentence 'output.state :=
\r
115 { duplicate$ empty$
\r
120 FUNCTION {output.check}
\r
123 { pop$ "empty " t * " in " * cite$ * warning$ }
\r
127 FUNCTION {fin.entry}
\r
133 FUNCTION {new.block}
\r
134 { output.state before.all =
\r
136 { after.block 'output.state := }
\r
139 FUNCTION {new.sentence}
\r
140 { output.state after.block =
\r
142 { output.state before.all =
\r
144 { after.sentence 'output.state := }
\r
149 FUNCTION {add.blank}
\r
150 { " " * before.all 'output.state :=
\r
153 FUNCTION {date.block}
\r
173 FUNCTION {non.stop}
\r
176 #-1 #1 substring$ "." =
\r
179 FUNCTION {new.block.checkb}
\r
187 FUNCTION {field.or.null}
\r
188 { duplicate$ empty$
\r
193 FUNCTION {emphasize}
\r
194 { duplicate$ empty$
\r
196 { "\emph{" swap$ * "}" * }
\r
199 FUNCTION {tie.or.space.prefix}
\r
200 { duplicate$ text.length$ #3 <
\r
207 FUNCTION {capitalize}
\r
208 { "u" change.case$ "t" change.case$ }
\r
210 FUNCTION {space.word}
\r
211 { " " swap$ * " " * }
\r
212 % Here are the language-specific definitions for explicit words.
\r
213 % Each function has a name bbl.xxx where xxx is the English word.
\r
214 % The language selected here is ENGLISH
\r
218 FUNCTION {bbl.etal}
\r
221 FUNCTION {bbl.editors}
\r
224 FUNCTION {bbl.editor}
\r
227 FUNCTION {bbl.edby}
\r
230 FUNCTION {bbl.edition}
\r
233 FUNCTION {bbl.volume}
\r
239 FUNCTION {bbl.number}
\r
248 FUNCTION {bbl.pages}
\r
251 FUNCTION {bbl.page}
\r
254 FUNCTION {bbl.eidpp}
\r
257 FUNCTION {bbl.chapter}
\r
260 FUNCTION {bbl.techrep}
\r
263 FUNCTION {bbl.mthesis}
\r
264 { "Master's thesis" }
\r
266 FUNCTION {bbl.phdthesis}
\r
269 FUNCTION {bbl.first}
\r
272 FUNCTION {bbl.second}
\r
275 FUNCTION {bbl.third}
\r
278 FUNCTION {bbl.fourth}
\r
281 FUNCTION {bbl.fifth}
\r
296 MACRO {jan} {"Jan."}
\r
298 MACRO {feb} {"Feb."}
\r
300 MACRO {mar} {"Mar."}
\r
302 MACRO {apr} {"Apr."}
\r
304 MACRO {may} {"May"}
\r
306 MACRO {jun} {"Jun."}
\r
308 MACRO {jul} {"Jul."}
\r
310 MACRO {aug} {"Aug."}
\r
312 MACRO {sep} {"Sep."}
\r
314 MACRO {oct} {"Oct."}
\r
316 MACRO {nov} {"Nov."}
\r
318 MACRO {dec} {"Dec."}
\r
321 { duplicate$ "1" swap$ *
\r
322 #-2 #1 substring$ "1" =
\r
324 { duplicate$ #-1 #1 substring$
\r
341 MACRO {acmcs} {"ACM Computing Surveys"}
\r
343 MACRO {acta} {"Acta Informatica"}
\r
345 MACRO {cacm} {"Communications of the ACM"}
\r
347 MACRO {ibmjrd} {"IBM Journal of Research and Development"}
\r
349 MACRO {ibmsj} {"IBM Systems Journal"}
\r
351 MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
\r
353 MACRO {ieeetc} {"IEEE Transactions on Computers"}
\r
356 {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
\r
358 MACRO {ipl} {"Information Processing Letters"}
\r
360 MACRO {jacm} {"Journal of the ACM"}
\r
362 MACRO {jcss} {"Journal of Computer and System Sciences"}
\r
364 MACRO {scp} {"Science of Computer Programming"}
\r
366 MACRO {sicomp} {"SIAM Journal on Computing"}
\r
368 MACRO {tocs} {"ACM Transactions on Computer Systems"}
\r
370 MACRO {tods} {"ACM Transactions on Database Systems"}
\r
372 MACRO {tog} {"ACM Transactions on Graphics"}
\r
374 MACRO {toms} {"ACM Transactions on Mathematical Software"}
\r
376 MACRO {toois} {"ACM Transactions on Office Information Systems"}
\r
378 MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
\r
380 MACRO {tcs} {"Theoretical Computer Science"}
\r
381 FUNCTION {bibinfo.check}
\r
383 duplicate$ missing$
\r
388 { duplicate$ empty$
\r
399 FUNCTION {bibinfo.warn}
\r
401 duplicate$ missing$
\r
403 swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
\r
406 { duplicate$ empty$
\r
408 swap$ "empty " swap$ * " in " * cite$ * warning$
\r
417 FUNCTION {format.eprint}
\r
418 { eprint duplicate$ empty$
\r
423 { "[" * archive * "]" * }
\r
425 "{" * swap$ * "}" *
\r
429 FUNCTION {format.url}
\r
434 { "\urlprefix\url{" swap$ * "}" * }
\r
438 FUNCTION {format.lastchecked}
\r
439 { lastchecked duplicate$ empty$ 'skip$
\r
441 "Accessed~" swap$ * %"." *
\r
446 INTEGERS { nameptr namesleft numnames }
\r
451 FUNCTION {format.names}
\r
453 duplicate$ empty$ 'skip$ {
\r
457 s num.names$ 'numnames :=
\r
458 numnames 'namesleft :=
\r
462 { "{ff~}{vv~}{ll}{, jj}" }
\r
463 { "{vv~}{ll}{, ff}{, jj}" }
\r
466 bibinfo bibinfo.check
\r
482 s nameptr "{ll}" format.name$ duplicate$ "others" =
\r
501 nameptr #1 + 'nameptr :=
\r
502 namesleft #1 - 'namesleft :=
\r
507 FUNCTION {format.names.ed}
\r
510 duplicate$ empty$ 'skip$ {
\r
514 s num.names$ 'numnames :=
\r
515 numnames 'namesleft :=
\r
518 "{ff~}{vv~}{ll}{, jj}"
\r
520 bibinfo bibinfo.check
\r
527 s nameptr "{ll}" format.name$ duplicate$ "others" =
\r
550 nameptr #1 + 'nameptr :=
\r
551 namesleft #1 - 'namesleft :=
\r
556 FUNCTION {format.key}
\r
558 { key field.or.null }
\r
563 FUNCTION {format.authors}
\r
564 { author "author" format.names
\r
565 duplicate$ empty$ 'skip$
\r
566 { collaboration "collaboration" bibinfo.check
\r
567 duplicate$ empty$ 'skip$
\r
568 { " (" swap$ * ")" * }
\r
574 FUNCTION {get.bbl.editor}
\r
575 { editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
\r
577 FUNCTION {format.editors}
\r
578 { editor "editor" format.names duplicate$ empty$ 'skip$
\r
584 % "(" swap$ * ")" *
\r
590 FUNCTION {format.doi}
\r
594 "\doi{" doi * "}" *
\r
598 FUNCTION {format.note}
\r
602 { note #1 #1 substring$
\r
605 { output.state mid.sentence =
\r
612 note #2 global.max$ substring$ * "note" bibinfo.check
\r
617 FUNCTION {format.title}
\r
619 "title" bibinfo.check
\r
620 duplicate$ empty$ 'skip$
\r
627 FUNCTION {format.plaintitle}
\r
629 "title" bibinfo.check
\r
630 duplicate$ empty$ 'skip$
\r
637 FUNCTION {format.title.dot}
\r
639 "title" bibinfo.check
\r
640 duplicate$ empty$ 'skip$
\r
647 FUNCTION {end.quote.title}
\r
650 { before.all 'output.state := }
\r
653 FUNCTION {end.quote.btitle}
\r
657 { before.all 'output.state := }
\r
663 FUNCTION {format.full.names}
\r
667 s num.names$ 'numnames :=
\r
668 numnames 'namesleft :=
\r
671 "{vv~}{ll}" format.name$
\r
687 s nameptr "{ll}" format.name$ duplicate$ "others" =
\r
709 nameptr #1 + 'nameptr :=
\r
710 namesleft #1 - 'namesleft :=
\r
715 FUNCTION {author.editor.key.full}
\r
719 { cite$ #1 #3 substring$ }
\r
723 { editor format.full.names }
\r
726 { author format.full.names }
\r
730 FUNCTION {author.key.full}
\r
733 { cite$ #1 #3 substring$ }
\r
737 { author format.full.names }
\r
741 FUNCTION {editor.key.full}
\r
744 { cite$ #1 #3 substring$ }
\r
748 { editor format.full.names }
\r
752 FUNCTION {make.full.names}
\r
756 'author.editor.key.full
\r
757 { type$ "proceedings" =
\r
765 FUNCTION {output.bibitem}
\r
769 ")" make.full.names duplicate$ short.list =
\r
778 before.all 'output.state :=
\r
781 FUNCTION {n.dashify}
\r
786 { t #1 #1 substring$ "-" =
\r
787 { t #1 #2 substring$ "--" = not
\r
789 t #2 global.max$ substring$ 't :=
\r
791 { { t #1 #1 substring$ "-" = }
\r
793 t #2 global.max$ substring$ 't :=
\r
799 { t #1 #1 substring$ *
\r
800 t #2 global.max$ substring$ 't :=
\r
811 FUNCTION {format.date}
\r
812 { year "year" bibinfo.check duplicate$ empty$
\r
814 "empty year in " cite$ * "; set to ????" * warning$
\r
820 before.all 'output.state :=
\r
821 after.sentence 'output.state :=
\r
823 FUNCTION {format.btitle}
\r
824 { title "title" bibinfo.check
\r
825 duplicate$ empty$ 'skip$
\r
831 FUNCTION {either.or.check}
\r
834 { "can't use both " swap$ * " fields in " * cite$ * warning$ }
\r
837 FUNCTION {format.bvolume}
\r
840 { bbl.volume volume tie.or.space.prefix
\r
841 "volume" bibinfo.check * *
\r
842 series "series" bibinfo.check
\r
843 duplicate$ empty$ 'pop$
\r
844 { swap$ bbl.of space.word * swap$
\r
847 "volume and number" number either.or.check
\r
851 FUNCTION {format.number.series}
\r
854 { series field.or.null }
\r
855 { output.state mid.sentence =
\r
857 { bbl.number capitalize }
\r
859 number tie.or.space.prefix "number" bibinfo.check * *
\r
861 { "there's a number but no series in " cite$ * warning$ }
\r
862 { bbl.in space.word *
\r
863 series "series" bibinfo.check *
\r
874 duplicate$ "0" chr.to.int$ < not
\r
875 swap$ "9" chr.to.int$ > not and
\r
878 FUNCTION {extract.num}
\r
882 { t #1 #1 substring$
\r
883 t #2 global.max$ substring$ 't :=
\r
885 { s swap$ * 's := }
\r
896 FUNCTION {convert.edition}
\r
897 { extract.num "l" change.case$ 's :=
\r
898 s "first" = s "1" = or
\r
899 { bbl.first 't := }
\r
900 { s "second" = s "2" = or
\r
901 { bbl.second 't := }
\r
902 { s "third" = s "3" = or
\r
903 { bbl.third 't := }
\r
904 { s "fourth" = s "4" = or
\r
905 { bbl.fourth 't := }
\r
906 { s "fifth" = s "5" = or
\r
907 { bbl.fifth 't := }
\r
908 { s #1 #1 substring$ is.num
\r
909 { s eng.ord 't := }
\r
925 FUNCTION {format.edition}
\r
926 { edition duplicate$ empty$ 'skip$
\r
929 output.state mid.sentence =
\r
933 "edition" bibinfo.check
\r
934 " " * bbl.edition *
\r
938 INTEGERS { multiresult }
\r
939 FUNCTION {multi.page.check}
\r
946 { t #1 #1 substring$
\r
948 swap$ duplicate$ "," =
\r
951 { #1 'multiresult := }
\r
952 { t #2 global.max$ substring$ 't := }
\r
958 FUNCTION {format.pages}
\r
959 { pages duplicate$ empty$ 'skip$
\r
960 { duplicate$ multi.page.check
\r
967 "pages" bibinfo.check
\r
971 FUNCTION {format.journal.pages}
\r
972 { pages duplicate$ empty$ 'pop$
\r
973 { swap$ duplicate$ empty$
\r
974 { pop$ pop$ format.pages }
\r
979 "pages" bibinfo.check
\r
986 FUNCTION {format.journal.eid}
\r
987 { eid "eid" bibinfo.check
\r
988 duplicate$ empty$ 'pop$
\r
989 { swap$ duplicate$ empty$ 'skip$
\r
995 numpages empty$ 'skip$
\r
996 { bbl.eidpp numpages tie.or.space.prefix
\r
997 "numpages" bibinfo.check * *
\r
998 " (" swap$ * ")" * *
\r
1005 FUNCTION {format.vol.num}
\r
1006 { volume field.or.null
\r
1007 duplicate$ empty$ 'skip$
\r
1011 number "number" bibinfo.check duplicate$ empty$ 'skip$
\r
1013 swap$ duplicate$ empty$
\r
1014 { "there's a number but no volume in " cite$ * warning$ }
\r
1018 " (" swap$ * ")." *
\r
1023 FUNCTION {format.vol.num.pages}
\r
1024 { volume field.or.null
\r
1025 duplicate$ empty$ 'skip$
\r
1029 number "number" bibinfo.check duplicate$ empty$ 'skip$
\r
1031 swap$ duplicate$ empty$
\r
1032 { "there's a number but no volume in " cite$ * warning$ }
\r
1036 " (" swap$ * ")" *
\r
1040 { format.journal.pages }
\r
1041 { format.journal.eid }
\r
1045 FUNCTION {format.chapter.pages}
\r
1050 { type "l" change.case$
\r
1051 "type" bibinfo.check
\r
1054 chapter tie.or.space.prefix
\r
1055 "chapter" bibinfo.check
\r
1059 { ", " * format.pages * }
\r
1065 FUNCTION {bt.emph}
\r
1066 { duplicate$ empty$ 'skip$
\r
1067 { "\emph{" swap$ *
\r
1075 FUNCTION {format.booktitle}
\r
1077 booktitle "booktitle" bibinfo.check
\r
1080 FUNCTION {format.in.ed.booktitle}
\r
1081 { format.booktitle duplicate$ empty$ 'skip$
\r
1083 format.bvolume duplicate$ empty$ 'pop$
\r
1086 editor "editor" format.names.ed duplicate$ empty$ 'pop$
\r
1099 FUNCTION {format.thesis.type}
\r
1100 { type duplicate$ empty$
\r
1103 "t" change.case$ "type" bibinfo.check
\r
1107 FUNCTION {format.tr.number}
\r
1108 { number "number" bibinfo.check
\r
1109 type duplicate$ empty$
\r
1110 { pop$ bbl.techrep }
\r
1113 "type" bibinfo.check
\r
1114 swap$ duplicate$ empty$
\r
1115 { pop$ "t" change.case$ }
\r
1116 { tie.or.space.prefix * * }
\r
1119 FUNCTION {format.article.crossref}
\r
1122 " \cite{" * crossref * "}" *
\r
1124 FUNCTION {format.book.crossref}
\r
1125 { volume duplicate$ empty$
\r
1126 { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
\r
1130 swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
\r
1133 " \cite{" * crossref * "}" *
\r
1135 FUNCTION {format.incoll.inproc.crossref}
\r
1138 " \cite{" * crossref * "}" *
\r
1140 FUNCTION {format.org.or.pub}
\r
1143 address empty$ t empty$ and
\r
1146 address "address" bibinfo.check *
\r
1159 FUNCTION {format.publisher.address}
\r
1160 { publisher "publisher" bibinfo.warn format.org.or.pub
\r
1163 FUNCTION {format.organization.address}
\r
1164 { organization "organization" bibinfo.check format.org.or.pub
\r
1167 FUNCTION {format.institution.address}%added for use in FUNCTION {techreport}%
\r
1168 { institution "institution" bibinfo.warn format.org.or.pub
\r
1171 FUNCTION {format.location}
\r
1174 { location "location" bibinfo.check}
\r
1178 FUNCTION {format.month}
\r
1181 { month "month" bibinfo.check
\r
1186 FUNCTION {article}
\r
1188 format.authors "author" output.check
\r
1189 author format.key output
\r
1190 format.date "year" output.check
\r
1192 format.title "title" output.check
\r
1197 "journal" bibinfo.check
\r
1199 "journal" output.check
\r
1201 format.vol.num.pages output
\r
1203 { format.article.crossref output.nonnull
\r
1204 format.pages output
\r
1207 %format.doi output
\r
1209 format.note output
\r
1210 format.eprint output
\r
1217 { format.editors "author and editor" output.check
\r
1218 editor format.key output
\r
1221 { format.authors output.nonnull
\r
1223 { "author and editor" editor either.or.check }
\r
1228 format.date "year" output.check
\r
1230 format.btitle "title" output.check
\r
1232 { format.bvolume output
\r
1233 format.number.series output
\r
1234 format.edition output
\r
1235 format.publisher.address output
\r
1238 format.book.crossref output.nonnull
\r
1241 %format.doi output
\r
1243 format.note output
\r
1244 format.eprint output
\r
1248 FUNCTION {booklet}
\r
1250 format.authors output
\r
1251 author format.key output
\r
1252 format.date "year" output.check
\r
1254 format.title "title" output.check
\r
1256 howpublished "howpublished" bibinfo.check output
\r
1257 address "address" bibinfo.check output
\r
1258 %format.doi output
\r
1260 format.note output
\r
1261 format.eprint output
\r
1269 { format.editors "author and editor" output.check
\r
1270 editor format.key output
\r
1272 { format.authors output.nonnull
\r
1274 { "author and editor" editor either.or.check }
\r
1279 format.date "year" output.check
\r
1281 format.btitle "title" output.check
\r
1284 format.bvolume output
\r
1285 format.chapter.pages "chapter and pages" output.check
\r
1286 format.number.series output
\r
1287 format.edition output
\r
1288 format.publisher.address output
\r
1291 format.chapter.pages "chapter and pages" output.check
\r
1292 format.book.crossref output.nonnull
\r
1295 %format.doi output
\r
1297 format.note output
\r
1298 format.eprint output
\r
1303 FUNCTION {incollection}
\r
1305 format.authors "author" output.check
\r
1306 author format.key output
\r
1307 format.date "year" output.check
\r
1309 format.title "title" output.check
\r
1312 { format.in.ed.booktitle "booktitle" output.check
\r
1314 format.number.series output
\r
1315 format.edition output
\r
1316 format.chapter.pages output
\r
1317 format.publisher.address output
\r
1319 { format.incoll.inproc.crossref output.nonnull
\r
1320 format.chapter.pages output
\r
1323 %format.doi output
\r
1325 format.note output
\r
1326 format.eprint output
\r
1330 FUNCTION {inproceedings}
\r
1332 format.authors "author" output.check
\r
1333 author format.key output
\r
1334 format.date "year" output.check
\r
1336 format.title "title" output.check
\r
1339 { format.in.ed.booktitle "booktitle" output.check
\r
1341 format.location output
\r
1342 format.number.series output
\r
1343 format.pages output
\r
1345 { format.organization.address output }
\r
1346 { organization "organization" bibinfo.check output
\r
1347 format.publisher.address output
\r
1351 { format.incoll.inproc.crossref output.nonnull
\r
1352 format.pages output
\r
1355 format.month output
\r
1356 %format.doi output
\r
1358 format.note output
\r
1359 format.eprint output
\r
1363 FUNCTION {conference} { inproceedings }
\r
1366 format.authors output
\r
1367 author format.key output
\r
1368 format.date "year" output.check
\r
1370 format.btitle "title" output.check
\r
1371 organization "organization" bibinfo.check output
\r
1372 address "address" bibinfo.check output
\r
1373 format.edition output
\r
1374 %format.doi output
\r
1376 format.note output
\r
1377 format.eprint output
\r
1382 FUNCTION {mastersthesis}
\r
1384 format.authors "author" output.check
\r
1385 author format.key output
\r
1386 format.date "year" output.check
\r
1388 format.title "title" output.check
\r
1390 bbl.mthesis format.thesis.type output.nonnull
\r
1391 school "school" bibinfo.warn output
\r
1392 address "address" bibinfo.check output
\r
1393 %format.doi output
\r
1395 format.note output
\r
1396 format.eprint output
\r
1403 format.authors output
\r
1404 author format.key output
\r
1405 format.date "year" output.check
\r
1407 format.title output
\r
1409 howpublished "howpublished" bibinfo.check output
\r
1410 address "address" bibinfo.check output%added%
\r
1411 %format.doi output
\r
1413 format.note output
\r
1414 format.eprint output
\r
1415 format.lastchecked output
\r
1419 FUNCTION {phdthesis}
\r
1421 format.authors "author" output.check
\r
1422 author format.key output
\r
1423 format.date "year" output.check
\r
1425 format.title "title" output.check
\r
1427 bbl.phdthesis format.thesis.type output.nonnull
\r
1428 school "school" bibinfo.warn output
\r
1429 address "address" bibinfo.check output
\r
1430 %format.doi output
\r
1432 format.note output
\r
1433 format.eprint output
\r
1438 FUNCTION {presentation}
\r
1440 format.authors output
\r
1441 author format.key output
\r
1442 format.title output
\r
1444 format.organization.address "organization and address" output.check
\r
1445 month "month" output.check
\r
1446 year "year" output.check
\r
1448 format.note output
\r
1450 type missing$ 'skip$
\r
1451 {"(" type capitalize * ")" * output}
\r
1457 FUNCTION {proceedings}
\r
1459 format.editors output
\r
1460 editor format.key output
\r
1461 format.date "year" output.check
\r
1463 format.btitle "title" output.check
\r
1464 format.bvolume output
\r
1465 format.number.series output
\r
1467 { format.organization.address output }
\r
1468 { organization "organization" bibinfo.check output
\r
1469 format.publisher.address output
\r
1472 %format.doi output
\r
1474 format.note output
\r
1475 format.eprint output
\r
1480 FUNCTION {techreport}
\r
1482 format.authors "author" output.check
\r
1483 author format.key output
\r
1484 format.date "year" output.check
\r
1487 "title" output.check
\r
1488 format.tr.number output.nonnull
\r
1489 format.institution.address output%added in place of next two lines%
\r
1490 %address "address" bibinfo.check output%
\r
1491 %institution "institution" bibinfo.warn output%
\r
1493 format.note output
\r
1494 format.eprint output
\r
1499 FUNCTION {unpublished}
\r
1501 format.authors "author" output.check
\r
1502 author format.key output
\r
1503 format.date "year" output.check
\r
1505 format.title "title" output.check
\r
1507 %format.doi output
\r
1509 format.note "note" output.check
\r
1510 format.eprint output
\r
1511 format.lastchecked output
\r
1516 FUNCTION {default.type} { misc }
\r
1518 FUNCTION {sortify}
\r
1523 FUNCTION {chop.word}
\r
1526 s #1 len substring$ =
\r
1527 { s len #1 + global.max$ substring$ }
\r
1531 FUNCTION {format.lab.names}
\r
1535 s num.names$ 'numnames :=
\r
1536 numnames 'namesleft :=
\r
1537 { namesleft #0 > }
\r
1539 "{vv~}{ll}" format.name$
\r
1546 #1 'namesleft := }
\r
1552 s nameptr "{ll}" format.name$ duplicate$ "others" =
\r
1574 nameptr #1 + 'nameptr :=
\r
1575 namesleft #1 - 'namesleft :=
\r
1580 FUNCTION {author.key.label}
\r
1583 { cite$ #1 #3 substring$ }
\r
1587 { author format.lab.names }
\r
1591 FUNCTION {author.editor.key.label}
\r
1595 { cite$ #1 #3 substring$ }
\r
1599 { editor format.lab.names }
\r
1602 { author format.lab.names }
\r
1606 FUNCTION {editor.key.label}
\r
1609 { cite$ #1 #3 substring$ }
\r
1613 { editor format.lab.names }
\r
1617 FUNCTION {calc.short.authors}
\r
1621 'author.editor.key.label
\r
1622 { type$ "proceedings" =
\r
1631 FUNCTION {calc.label}
\r
1632 { calc.short.authors
\r
1636 year duplicate$ empty$
\r
1637 short.list key field.or.null = or
\r
1645 FUNCTION {sort.format.names}
\r
1649 s num.names$ 'numnames :=
\r
1650 numnames 'namesleft :=
\r
1651 { namesleft #0 > }
\r
1656 s nameptr "{vv{ } }{ll{ }}{ f{ }}{ jj{ }}" format.name$ 't :=
\r
1657 nameptr numnames = t "others" = and
\r
1661 nameptr #1 + 'nameptr :=
\r
1662 namesleft #1 - 'namesleft :=
\r
1667 FUNCTION {sort.format.title}
\r
1671 "The " #4 t chop.word
\r
1675 #1 global.max$ substring$
\r
1677 FUNCTION {author.sort}
\r
1680 { "to sort, need author or key in " cite$ * warning$
\r
1686 { author sort.format.names }
\r
1689 FUNCTION {author.editor.sort}
\r
1693 { "to sort, need author, editor, or key in " cite$ * warning$
\r
1699 { editor sort.format.names }
\r
1702 { author sort.format.names }
\r
1705 FUNCTION {editor.sort}
\r
1708 { "to sort, need editor or key in " cite$ * warning$
\r
1714 { editor sort.format.names }
\r
1717 FUNCTION {presort}
\r
1725 'author.editor.sort
\r
1726 { type$ "proceedings" =
\r
1732 #1 entry.max$ substring$
\r
1738 title field.or.null
\r
1741 #1 entry.max$ substring$
\r
1747 STRINGS { last.label next.extra }
\r
1748 INTEGERS { last.extra.num last.extra.num.extended last.extra.num.blank number.label }
\r
1749 FUNCTION {initialize.extra.label.stuff}
\r
1750 { #0 int.to.chr$ 'last.label :=
\r
1752 #0 'last.extra.num :=
\r
1753 "a" chr.to.int$ #1 - 'last.extra.num.blank :=
\r
1754 last.extra.num.blank 'last.extra.num.extended :=
\r
1755 #0 'number.label :=
\r
1757 FUNCTION {forward.pass}
\r
1758 { last.label label =
\r
1759 { last.extra.num #1 + 'last.extra.num :=
\r
1760 last.extra.num "z" chr.to.int$ >
\r
1761 { "a" chr.to.int$ 'last.extra.num :=
\r
1762 last.extra.num.extended #1 + 'last.extra.num.extended :=
\r
1766 last.extra.num.extended last.extra.num.blank >
\r
1767 { last.extra.num.extended int.to.chr$
\r
1768 last.extra.num int.to.chr$
\r
1769 * 'extra.label := }
\r
1770 { last.extra.num int.to.chr$ 'extra.label := }
\r
1773 { "a" chr.to.int$ 'last.extra.num :=
\r
1774 "" 'extra.label :=
\r
1775 label 'last.label :=
\r
1778 number.label #1 + 'number.label :=
\r
1780 FUNCTION {reverse.pass}
\r
1781 { next.extra "b" =
\r
1782 { "a" 'extra.label := }
\r
1785 extra.label 'next.extra :=
\r
1789 { "{\natexlab{" swap$ * "}}" * }
\r
1792 label extra.label * 'label :=
\r
1794 EXECUTE {initialize.extra.label.stuff}
\r
1795 ITERATE {forward.pass}
\r
1796 REVERSE {reverse.pass}
\r
1797 FUNCTION {bib.sort.order}
\r
1801 year field.or.null sortify
\r
1805 title field.or.null
\r
1808 #1 entry.max$ substring$
\r
1811 ITERATE {bib.sort.order}
\r
1813 FUNCTION {begin.bib}
\r
1814 { preamble$ empty$
\r
1816 { preamble$ write$ newline$ }
\r
1818 "\begin{thebibliography}{" number.label int.to.str$ * "}" *
\r
1820 "\newcommand{\enquote}[1]{``#1''}"
\r
1822 "\providecommand{\natexlab}[1]{#1}"
\r
1824 "\providecommand{\url}[1]{\normalfont{#1}}"
\r
1826 "\providecommand{\urlprefix}{ }"
\r
1828 "\expandafter\ifx\csname urlstyle\endcsname\relax"
\r
1830 " \providecommand{\doi}[1]{doi:\discretionary{}{}{}#1}\else"
\r
1832 " \providecommand{\doi}{doi:\discretionary{}{}{}\begingroup \urlstyle{rm}\Url}\fi"
\r
1834 "\providecommand{\eprint}[2][]{\url{#2}}"
\r
1837 EXECUTE {begin.bib}
\r
1838 EXECUTE {init.state.consts}
\r
1839 ITERATE {call.type$}
\r
1840 FUNCTION {end.bib}
\r
1842 "\end{thebibliography}" write$ newline$
\r
1845 %% End of customized bst file
\r
1847 %% End of file `gENO.bst'.
\r