Statistiques
| Branche: | Révision :

xlcloud / papers / 2014 / reservation / wileyj.bst @ master

Historique | Voir | Annoter | Télécharger (27,43 ko)

1
%% This is file `wileyj.bst',
2
%% Created by Sunrise Setting Ltd, Torquay, UK, www.sunrise-setting.co.uk
3
%% Version 1.00, 21 September 2007
4
%%
5
%% The original source files were:
6
%%
7
%% merlin.mbs  (with options: `seq-no,nm-rvx,ed-rev,jnrlst,nmlm,x10,x0,m10,m0,dt-jnl,yr-com,yrp-semi,thtit-a,trnum-it,vol-bf,pgsep-s,pp-last,num-xser,numser,ser-vol,ser-ed,jnm-x,bkpg-x,pub-date,pub-xpar,pre-edn,doi,edpar,edby,edbyx,blk-tit,blknt,in-x,ppx,ed,abr,mth-bare,xedn,varand,and-xcom,xand,etal-xc,etal-it,url,url-nt,nfss,')
8
%% ----------------------------------------
9
%% *** wileyj.bst ***
10
%% 
11
%% Copyright 1994-2005 Patrick W Daly
12
 % ===============================================================
13
 % IMPORTANT NOTICE:
14
 % This bibliographic style (bst) file has been generated from one or
15
 % more master bibliographic style (mbs) files, listed above.
16
 %
17
 % This generated file can be redistributed and/or modified under the terms
18
 % of the LaTeX Project Public License Distributed from CTAN
19
 % archives in directory macros/latex/base/lppl.txt; either
20
 % version 1 of the License, or any later version.
21
 % ===============================================================
22
 % Name and version information of the main mbs file:
23
 % \ProvidesFile{merlin.mbs}[2005/10/17 4.14 (PWD, AO, DPC)]
24
 %   For use with BibTeX version 0.99a or later
25
 %-------------------------------------------------------------------
26
 % This bibliography style file is intended for texts in ENGLISH
27
 % This is a numerical citation style, and as such is standard LaTeX.
28
 % It requires no extra package to interface to the main text.
29
 % The form of the \bibitem entries is
30
 %   \bibitem{key}...
31
 % Usage of \cite is as follows:
32
 %   \cite{key} ==>>          [#]
33
 %   \cite[chap. 2]{key} ==>> [#, chap. 2]
34
 % where # is a number determined by the ordering in the reference list.
35
 % The order in the reference list is that by which the works were originally
36
 %   cited in the text, or that in the database.
37
 %---------------------------------------------------------------------
38

    
39
ENTRY
40
  { address
41
    author
42
    booktitle
43
    chapter
44
    doi
45
    edition
46
    editor
47
    eid
48
    howpublished
49
    institution
50
    journal
51
    key
52
    month
53
    note
54
    number
55
    organization
56
    pages
57
    publisher
58
    school
59
    series
60
    title
61
    type
62
    url
63
    volume
64
    year
65
  }
66
  {}
67
  { label }
68
INTEGERS { output.state before.all mid.sentence after.sentence after.block }
69
FUNCTION {init.state.consts}
70
{ #0 'before.all :=
71
  #1 'mid.sentence :=
72
  #2 'after.sentence :=
73
  #3 'after.block :=
74
}
75
STRINGS { s t}
76
FUNCTION {output.nonnull}
77
{ 's :=
78
  output.state mid.sentence =
79
    { ", " * write$ }
80
    { output.state after.block =
81
        { add.period$ write$
82
          newline$
83
          "\newblock " write$
84
        }
85
        { output.state before.all =
86
            'write$
87
            { add.period$ " " * write$ }
88
          if$
89
        }
90
      if$
91
      mid.sentence 'output.state :=
92
    }
93
  if$
94
  s
95
}
96
FUNCTION {output}
97
{ duplicate$ empty$
98
    'pop$
99
    'output.nonnull
100
  if$
101
}
102
FUNCTION {output.check}
103
{ 't :=
104
  duplicate$ empty$
105
    { pop$ "empty " t * " in " * cite$ * warning$ }
106
    'output.nonnull
107
  if$
108
}
109
FUNCTION {fin.entry}
110
{ add.period$
111
  write$
112
  newline$
113
}
114

    
115
FUNCTION {new.block}
116
{ output.state before.all =
117
    'skip$
118
    { after.block 'output.state := }
119
  if$
120
}
121
FUNCTION {new.sentence}
122
{ output.state after.block =
123
    'skip$
124
    { output.state before.all =
125
        'skip$
126
        { after.sentence 'output.state := }
127
      if$
128
    }
129
  if$
130
}
131
FUNCTION {add.blank}
132
{  " " * before.all 'output.state :=
133
}
134

    
135
%AS
136
FUNCTION {add.fullstop}
137
{ duplicate$ empty$
138
    'skip$
139
    { "." * add.blank }
140
  if$
141
}
142

    
143
FUNCTION {date.block}
144
{
145
  ";" *
146
  add.blank
147
}
148

    
149
FUNCTION {not}
150
{   { #0 }
151
    { #1 }
152
  if$
153
}
154
FUNCTION {and}
155
{   'skip$
156
    { pop$ #0 }
157
  if$
158
}
159
FUNCTION {or}
160
{   { pop$ #1 }
161
    'skip$
162
  if$
163
}
164
STRINGS {z}
165
FUNCTION {remove.dots}
166
{ 'z :=
167
  ""
168
  { z empty$ not }
169
  { z #1 #1 substring$
170
    z #2 global.max$ substring$ 'z :=
171
    duplicate$ "." = 'pop$
172
      { * }
173
    if$
174
  }
175
  while$
176
}
177
FUNCTION {new.block.checka}
178
{ empty$
179
    'skip$
180
    'new.block
181
  if$
182
}
183
FUNCTION {new.block.checkb}
184
{ empty$
185
  swap$ empty$
186
  and
187
    'skip$
188
    'new.block
189
  if$
190
}
191
FUNCTION {new.sentence.checka}
192
{ empty$
193
    'skip$
194
    'new.sentence
195
  if$
196
}
197
FUNCTION {new.sentence.checkb}
198
{ empty$
199
  swap$ empty$
200
  and
201
    'skip$
202
    'new.sentence
203
  if$
204
}
205
FUNCTION {field.or.null}
206
{ duplicate$ empty$
207
    { pop$ "" }
208
    'skip$
209
  if$
210
}
211
FUNCTION {emphasize}
212
{ duplicate$ empty$
213
    { pop$ "" }
214
    { "\emph{" swap$ * "}" * }
215
  if$
216
}
217
FUNCTION {bolden}
218
{ duplicate$ empty$
219
    { pop$ "" }
220
    { "\textbf{" swap$ * "}" * }
221
  if$
222
}
223
FUNCTION {tie.or.space.prefix}
224
{ duplicate$ text.length$ #3 <
225
    { "~" }
226
    { " " }
227
  if$
228
  swap$
229
}
230

    
231
FUNCTION {capitalize}
232
{ "u" change.case$ "t" change.case$ }
233

    
234
FUNCTION {space.word}
235
{ " " swap$ * " " * }
236
 % Here are the language-specific definitions for explicit words.
237
 % Each function has a name bbl.xxx where xxx is the English word.
238
 % The language selected here is ENGLISH
239
FUNCTION {bbl.and}
240
{ "\protect\BIBand{}"}
241

    
242
FUNCTION {bbl.etal}
243
{ "et~al." }
244

    
245
FUNCTION {bbl.editors}
246
{ " (eds.)" }
247

    
248
FUNCTION {bbl.editor}
249
{ " (ed.)" }
250

    
251
FUNCTION {bbl.edby}
252
{ "edited by" }
253

    
254
FUNCTION {bbl.edition}
255
{ "edn." }
256

    
257
FUNCTION {bbl.volume}
258
{ "vol." }
259

    
260
FUNCTION {bbl.of}
261
{ "of" }
262

    
263
FUNCTION {bbl.number}
264
{ "no." }
265

    
266
FUNCTION {bbl.nr}
267
{ "no." }
268

    
269
FUNCTION {bbl.in}
270
{ "in" }
271

    
272
FUNCTION {bbl.pages}
273
{ "" }
274

    
275
FUNCTION {bbl.page}
276
{ "" }
277

    
278
FUNCTION {bbl.chapter}
279
{ "chap." }
280

    
281
FUNCTION {bbl.techrep}
282
{ "Technical {R}eport" }
283

    
284
FUNCTION {bbl.mthesis}
285
{ "Master's {T}hesis" }
286

    
287
FUNCTION {bbl.phdthesis}
288
{ "Ph{D} {T}hesis" }
289

    
290
MACRO {jan} {"Jan."}
291

    
292
MACRO {feb} {"Feb."}
293

    
294
MACRO {mar} {"Mar."}
295

    
296
MACRO {apr} {"Apr."}
297

    
298
MACRO {may} {"May"}
299

    
300
MACRO {jun} {"Jun."}
301

    
302
MACRO {jul} {"Jul."}
303

    
304
MACRO {aug} {"Aug."}
305

    
306
MACRO {sep} {"Sep."}
307

    
308
MACRO {oct} {"Oct."}
309

    
310
MACRO {nov} {"Nov."}
311

    
312
MACRO {dec} {"Dec."}
313

    
314
MACRO {acmcs} {"ACM Computing Surveys"}
315

    
316
MACRO {acta} {"Acta Informatica"}
317

    
318
MACRO {cacm} {"Communications of the ACM"}
319

    
320
MACRO {ibmjrd} {"IBM Journal of Research and Development"}
321

    
322
MACRO {ibmsj} {"IBM Systems Journal"}
323

    
324
MACRO {ieeese} {"IEEE Transactions on Software Engineering"}
325

    
326
MACRO {ieeetc} {"IEEE Transactions on Computers"}
327

    
328
MACRO {ieeetcad}
329
 {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"}
330

    
331
MACRO {ipl} {"Information Processing Letters"}
332

    
333
MACRO {jacm} {"Journal of the ACM"}
334

    
335
MACRO {jcss} {"Journal of Computer and System Sciences"}
336

    
337
MACRO {scp} {"Science of Computer Programming"}
338

    
339
MACRO {sicomp} {"SIAM Journal on Computing"}
340

    
341
MACRO {tocs} {"ACM Transactions on Computer Systems"}
342

    
343
MACRO {tods} {"ACM Transactions on Database Systems"}
344

    
345
MACRO {tog} {"ACM Transactions on Graphics"}
346

    
347
MACRO {toms} {"ACM Transactions on Mathematical Software"}
348

    
349
MACRO {toois} {"ACM Transactions on Office Information Systems"}
350

    
351
MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"}
352

    
353
MACRO {tcs} {"Theoretical Computer Science"}
354
FUNCTION {bibinfo.check}
355
{ swap$
356
  duplicate$ missing$
357
    {
358
      pop$ pop$
359
      ""
360
    }
361
    { duplicate$ empty$
362
        {
363
          swap$ pop$
364
        }
365
        { swap$
366
          pop$
367
        }
368
      if$
369
    }
370
  if$
371
}
372
FUNCTION {bibinfo.warn}
373
{ swap$
374
  duplicate$ missing$
375
    {
376
      swap$ "missing " swap$ * " in " * cite$ * warning$ pop$
377
      ""
378
    }
379
    { duplicate$ empty$
380
        {
381
          swap$ "empty " swap$ * " in " * cite$ * warning$
382
        }
383
        { swap$
384
          pop$
385
        }
386
      if$
387
    }
388
  if$
389
}
390
STRINGS  { bibinfo}
391
INTEGERS { nameptr namesleft numnames }
392

    
393
FUNCTION {format.names}
394
{ 'bibinfo :=
395
  duplicate$ empty$ 'skip$ {
396
  's :=
397
  "" 't :=
398
  #1 'nameptr :=
399
  s num.names$ 'numnames :=
400
  numnames 'namesleft :=
401
    { namesleft #0 > }
402
    { s nameptr
403
      "{vv~}{ll}{ f{}}{ jj}"
404
      format.name$
405
      remove.dots
406
      bibinfo bibinfo.check
407
      't :=
408
      nameptr #1 >
409
        {
410
          nameptr #0
411
          #10 +
412
          #1 + =
413
          numnames #0
414
          #10 +
415
          > and
416
            { "others" 't :=
417
              #1 'namesleft := }
418
            'skip$
419
          if$
420
          namesleft #1 >
421
            { ", " * t * }
422
            {
423
              s nameptr "{ll}" format.name$ duplicate$ "others" =
424
                { 't := }
425
                { pop$ }
426
              if$
427
              "," *
428
              t "others" =
429
                {
430
                  " " * bbl.etal emphasize *
431
                }
432
                { " " * t * }
433
              if$
434
            }
435
          if$
436
        }
437
        't
438
      if$
439
      nameptr #1 + 'nameptr :=
440
      namesleft #1 - 'namesleft :=
441
    }
442
  while$
443
  } if$
444
}
445
FUNCTION {format.names.ed}
446
{
447
  format.names
448
}
449
FUNCTION {format.authors}
450
{ author "author" format.names
451
}
452
FUNCTION {get.bbl.editor}
453
{ editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ }
454

    
455
FUNCTION {format.editors}
456
{ editor "editor" format.names duplicate$ empty$ 'skip$
457
    {
458
      " " *
459
      get.bbl.editor
460
   "(" swap$ * ")" *
461
      *
462
    }
463
  if$
464
}
465

    
466
FUNCTION {format.doi}
467
{ doi "doi" bibinfo.check
468
  duplicate$ empty$ 'skip$
469
    {
470
      "\doi{" swap$ * "}" *
471
    }
472
  if$
473
}
474
FUNCTION {format.note}
475
{
476
  url empty$
477
    'skip$
478
    { "\urlprefix\url{" url * "}" * output }
479
  if$
480
 note empty$
481
    { "" }
482
    { note #1 #1 substring$
483
      duplicate$ "{" =
484
        'skip$
485
        { output.state mid.sentence =
486
          { "l" }
487
          { "u" }
488
        if$
489
        change.case$
490
        }
491
      if$
492
      note #2 global.max$ substring$ * "note" bibinfo.check
493
    }
494
  if$
495
}
496

    
497
FUNCTION {format.title}
498
{ title
499
  duplicate$ empty$ 'skip$
500
    { "t" change.case$ }
501
  if$
502
  "title" bibinfo.check
503
}
504
FUNCTION {output.bibitem}
505
{ newline$
506
  "\bibitem{" write$
507
  cite$ write$
508
  "}" write$
509
  newline$
510
  ""
511
  before.all 'output.state :=
512
}
513

    
514
FUNCTION {if.digit}
515
{ duplicate$ "0" =
516
  swap$ duplicate$ "1" =
517
  swap$ duplicate$ "2" =
518
  swap$ duplicate$ "3" =
519
  swap$ duplicate$ "4" =
520
  swap$ duplicate$ "5" =
521
  swap$ duplicate$ "6" =
522
  swap$ duplicate$ "7" =
523
  swap$ duplicate$ "8" =
524
  swap$ "9" = or or or or or or or or or
525
}
526
FUNCTION {n.separate}
527
{ 't :=
528
  ""
529
  #0 'numnames :=
530
  { t empty$ not }
531
  { t #-1 #1 substring$ if.digit
532
      { numnames #1 + 'numnames := }
533
      { #0 'numnames := }
534
    if$
535
    t #-1 #1 substring$ swap$ *
536
    t #-2 global.max$ substring$ 't :=
537
    numnames #5 =
538
      { duplicate$ #1 #2 substring$ swap$
539
        #3 global.max$ substring$
540
        "\," swap$ * *
541
      }
542
      'skip$
543
    if$
544
  }
545
  while$
546
}
547
FUNCTION {n.dashify}
548
{
549
  n.separate
550
  't :=
551
  ""
552
    { t empty$ not }
553
    { t #1 #1 substring$ "-" =
554
        { t #1 #2 substring$ "--" = not
555
            { "--" *
556
              t #2 global.max$ substring$ 't :=
557
            }
558
            {   { t #1 #1 substring$ "-" = }
559
                { "-" *
560
                  t #2 global.max$ substring$ 't :=
561
                }
562
              while$
563
            }
564
          if$
565
        }
566
        { t #1 #1 substring$ *
567
          t #2 global.max$ substring$ 't :=
568
        }
569
      if$
570
    }
571
  while$
572
}
573

    
574
FUNCTION {word.in}
575
{ "" }
576

    
577
FUNCTION {format.date}
578
{
579
  month "month" bibinfo.check
580
  duplicate$ empty$
581
  year  "year"  bibinfo.check duplicate$ empty$
582
    { swap$ 'skip$
583
        { "there's a month but no year in " cite$ * warning$ }
584
      if$
585
      *
586
    }
587
    { swap$ 'skip$
588
        {
589
          swap$
590
          " " * swap$
591
        }
592
      if$
593
      *
594
      remove.dots
595
    }
596
  if$
597
  duplicate$ empty$
598
    'skip$
599
    {
600
      before.all 'output.state :=
601
    %AS", " swap$ *
602
    " " swap$ *
603
    }
604
  if$
605
}
606
FUNCTION {format.btitle}
607
{ title "title" bibinfo.check
608
  duplicate$ empty$ 'skip$
609
    {
610
      emphasize
611
    }
612
  if$
613
}
614
FUNCTION {either.or.check}
615
{ empty$
616
    'pop$
617
    { "can't use both " swap$ * " fields in " * cite$ * warning$ }
618
  if$
619
}
620
FUNCTION {format.bvolume}
621
{ volume empty$
622
    { "" }
623
    { bbl.volume volume tie.or.space.prefix
624
      "volume" bibinfo.check * *
625
      series "series" bibinfo.check
626
      duplicate$ empty$ 'pop$
627
        { emphasize ", " * swap$ * }
628
      if$
629
      "volume and number" number either.or.check
630
    }
631
  if$
632
}
633
FUNCTION {format.number.series}
634
{ volume empty$
635
    { number empty$
636
        { series field.or.null }
637
        { series empty$
638
            { number "number" bibinfo.check }
639
            { output.state mid.sentence =
640
                { bbl.number }
641
                { bbl.number capitalize }
642
              if$
643
              number tie.or.space.prefix "number" bibinfo.check * *
644
              bbl.in space.word *
645
              series "series" bibinfo.check *
646
            }
647
          if$
648
        }
649
      if$
650
    }
651
    { "" }
652
  if$
653
}
654

    
655
FUNCTION {format.edition}
656
{ edition duplicate$ empty$ 'skip$
657
    {
658
      output.state mid.sentence =
659
        { "l" }
660
        { "t" }
661
      if$ change.case$
662
      "edition" bibinfo.check
663
      " " * bbl.edition *
664
    }
665
  if$
666
}
667
INTEGERS { multiresult }
668
FUNCTION {multi.page.check}
669
{ 't :=
670
  #0 'multiresult :=
671
    { multiresult not
672
      t empty$ not
673
      and
674
    }
675
    { t #1 #1 substring$
676
      duplicate$ "-" =
677
      swap$ duplicate$ "," =
678
      swap$ "+" =
679
      or or
680
        { #1 'multiresult := }
681
        { t #2 global.max$ substring$ 't := }
682
      if$
683
    }
684
  while$
685
  multiresult
686
}
687
FUNCTION {format.pages}
688
{ pages duplicate$ empty$ 'skip$
689
    { duplicate$ multi.page.check
690
        {
691
          n.dashify
692
        }
693
        {
694
        }
695
      if$
696
      "pages" bibinfo.check
697
    }
698
  if$
699
}
700
%AS
701
FUNCTION {format.book.pages}
702
{ pages duplicate$ empty$ 'pop$
703
    { swap$ duplicate$ empty$
704
        { pop$ pop$ format.pages }
705
        { 
706
          "; " *
707
          swap$
708
          n.dashify
709
          "pages" bibinfo.check
710
          *
711
        }
712
      if$
713
    }
714
  if$
715
}
716
FUNCTION {format.journal.pages}
717
{ pages duplicate$ empty$ 'pop$
718
    { swap$ duplicate$ empty$
719
        { pop$ pop$ format.pages }
720
        {
721
          ":" *
722
          swap$
723
          n.dashify
724
          "pages" bibinfo.check
725
          *
726
        }
727
      if$
728
    }
729
  if$
730
}
731
FUNCTION {format.journal.eid}
732
{ eid "eid" bibinfo.check
733
  duplicate$ empty$ 'pop$
734
    { swap$ duplicate$ empty$ 'skip$
735
      {
736
          ":" *
737
      }
738
      if$
739
      swap$ *
740
    }
741
  if$
742
}
743
FUNCTION {format.vol.num.pages}
744
{ volume field.or.null
745
  duplicate$ empty$ 'skip$
746
    {
747
      "volume" bibinfo.check
748
    }
749
  if$
750
  bolden
751
  number "number" bibinfo.check duplicate$ empty$ 'skip$
752
    {
753
      swap$ duplicate$ empty$
754
        { "there's a number but no volume in " cite$ * warning$ }
755
        'skip$
756
      if$
757
      swap$
758
      "(" swap$ * ")" *
759
    }
760
  if$ *
761
}
762

    
763
FUNCTION {format.chapter.pages}
764
{ chapter empty$
765
    { "" }
766
    { type empty$
767
        { bbl.chapter }
768
        { type "l" change.case$
769
          "type" bibinfo.check
770
        }
771
      if$
772
      chapter tie.or.space.prefix
773
      "chapter" bibinfo.check
774
      * *
775
    }
776
  if$
777
}
778

    
779
FUNCTION {format.booktitle}
780
{
781
  booktitle "booktitle" bibinfo.check
782
  emphasize
783
}
784
FUNCTION {format.in.ed.booktitle}
785
{ format.booktitle duplicate$ empty$ 'skip$
786
    {
787
      format.bvolume duplicate$ empty$ 'pop$
788
        { ", " swap$ * * }
789
      if$
790
      editor "editor" format.names.ed duplicate$ empty$ 'pop$
791
        {
792
          get.bbl.editor
793
          %" " * swap$ *
794
          * swap$ 
795
          "," *
796
          " " * swap$
797
          * }
798
      if$
799
      word.in swap$ *
800
    }
801
  if$
802
}
803
FUNCTION {empty.misc.check}
804
{ author empty$ title empty$ howpublished empty$
805
  month empty$ year empty$ note empty$
806
  and and and and and
807
    { "all relevant fields are empty in " cite$ * warning$ }
808
    'skip$
809
  if$
810
}
811
FUNCTION {format.thesis.type}
812
{ type duplicate$ empty$
813
    'pop$
814
    { swap$ pop$
815
      "t" change.case$ "type" bibinfo.check
816
    }
817
  if$
818
}
819
FUNCTION {format.tr.number}
820
{ number "number" bibinfo.check
821
  type duplicate$ empty$
822
    { pop$ bbl.techrep }
823
    'skip$
824
  if$
825
  "type" bibinfo.check
826
  swap$ duplicate$ empty$
827
    { pop$ "t" change.case$ }
828
    { tie.or.space.prefix * * }
829
  if$
830
}
831
FUNCTION {format.article.crossref}
832
{
833
  key duplicate$ empty$
834
    { pop$
835
      journal duplicate$ empty$
836
        { "need key or journal for " cite$ * " to crossref " * crossref * warning$ }
837
        { "journal" bibinfo.check emphasize word.in swap$ * }
838
      if$
839
    }
840
    { word.in swap$ * " " *}
841
  if$
842
  " \cite{" * crossref * "}" *
843
}
844
FUNCTION {format.crossref.editor}
845
{ editor #1 "{vv~}{ll}" format.name$
846
  "editor" bibinfo.check
847
  editor num.names$ duplicate$
848
  #2 >
849
    { pop$
850
      "editor" bibinfo.check
851
      " " * bbl.etal
852
      emphasize
853
      *
854
    }
855
    { #2 <
856
        'skip$
857
        { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" =
858
            {
859
              "editor" bibinfo.check
860
              " " * bbl.etal
861
              emphasize
862
              *
863
            }
864
            {
865
             bbl.and space.word
866
              * editor #2 "{vv~}{ll}" format.name$
867
              "editor" bibinfo.check
868
              *
869
            }
870
          if$
871
        }
872
      if$
873
    }
874
  if$
875
}
876
FUNCTION {format.book.crossref}
877
{ volume duplicate$ empty$
878
    { "empty volume in " cite$ * "'s crossref of " * crossref * warning$
879
      pop$ word.in
880
    }
881
    { bbl.volume
882
      capitalize
883
      swap$ tie.or.space.prefix "volume" bibinfo.check * * bbl.of space.word *
884
    }
885
  if$
886
  editor empty$
887
  editor field.or.null author field.or.null =
888
  or
889
    { key empty$
890
        { series empty$
891
            { "need editor, key, or series for " cite$ * " to crossref " *
892
              crossref * warning$
893
              "" *
894
            }
895
            { series emphasize * }
896
          if$
897
        }
898
        { key * }
899
      if$
900
    }
901
    { format.crossref.editor * }
902
  if$
903
  " \cite{" * crossref * "}" *
904
}
905
FUNCTION {format.incoll.inproc.crossref}
906
{
907
  editor empty$
908
  editor field.or.null author field.or.null =
909
  or
910
    { key empty$
911
        { format.booktitle duplicate$ empty$
912
            { "need editor, key, or booktitle for " cite$ * " to crossref " *
913
              crossref * warning$
914
            }
915
            { word.in swap$ * }
916
          if$
917
        }
918
        { word.in key * " " *}
919
      if$
920
    }
921
    { word.in format.crossref.editor * " " *}
922
  if$
923
  " \cite{" * crossref * "}" *
924
}
925
FUNCTION {format.org.or.pub}
926
{ 't :=
927
  ""
928
  year empty$
929
    { "empty year in " cite$ * warning$ }
930
    'skip$
931
  if$
932
  address empty$ t empty$ and
933
  year empty$ and
934
    'skip$
935
    {
936
      t empty$
937
        { address "address" bibinfo.check *
938
        }
939
        { t *
940
          address empty$
941
            'skip$
942
            { ": " * address "address" bibinfo.check * }
943
          if$
944
        }
945
      if$
946
      year empty$
947
        'skip$
948
        { t empty$ address empty$ and
949
            'skip$
950
            { ", " * }
951
          if$
952
          year "year" bibinfo.check
953
          *
954
        }
955
      if$
956
    }
957
  if$
958
}
959
FUNCTION {format.publisher.address}
960
{ publisher "publisher" bibinfo.warn format.org.or.pub
961
}
962

    
963
FUNCTION {format.organization.address}
964
{ organization "organization" bibinfo.check format.org.or.pub
965
}
966

    
967
FUNCTION {article}
968
{ output.bibitem
969
  format.authors "author" output.check
970
  add.fullstop
971
  format.title "title" output.check
972
  new.sentence
973
  crossref missing$
974
    {
975
      journal
976
      "journal" bibinfo.check
977
      emphasize
978
      "journal" output.check
979
      add.blank
980
      format.date "year" output.check
981
      date.block
982
      format.vol.num.pages output
983
    }
984
    { format.article.crossref output.nonnull
985
    }
986
  if$
987
  eid empty$
988
    { format.journal.pages }
989
    { format.journal.eid }
990
  if$
991
  format.doi output
992
  new.sentence
993
  format.note output
994
  fin.entry
995
}
996
FUNCTION {book}
997
{ output.bibitem
998
  author empty$
999
    { format.editors "author and editor" output.check
1000
      add.fullstop
1001
    }
1002
    { format.authors output.nonnull
1003
      add.fullstop
1004
      crossref missing$
1005
        { "author and editor" editor either.or.check }
1006
        'skip$
1007
      if$
1008
    }
1009
  if$
1010
  format.btitle "title" output.check
1011
  crossref missing$
1012
    { format.bvolume output
1013
  new.sentence
1014
      format.edition output
1015
      format.number.series output
1016
      format.publisher.address output
1017
    }
1018
    {
1019
  new.sentence
1020
      format.book.crossref output.nonnull
1021
      format.date "year" output.check
1022
      }
1023
  if$
1024
  format.doi output
1025
  new.sentence
1026
  format.note output
1027
  fin.entry
1028
}
1029
FUNCTION {booklet}
1030
{ output.bibitem
1031
  format.authors output
1032
  add.fullstop
1033
  format.title "title" output.check
1034
  new.sentence
1035
  howpublished "howpublished" bibinfo.check output
1036
  address "address" bibinfo.check output
1037
  format.date output
1038
  format.doi output
1039
  new.sentence
1040
  format.note output
1041
  fin.entry
1042
}
1043

    
1044
FUNCTION {inbook}
1045
{ output.bibitem
1046
  author empty$
1047
    { format.editors "author and editor" output.check
1048
      add.fullstop
1049
    }
1050
    { format.authors output.nonnull
1051
      add.fullstop
1052
      crossref missing$
1053
        { "author and editor" editor either.or.check }
1054
        'skip$
1055
      if$
1056
    }
1057
  if$
1058
  format.btitle "title" output.check
1059
  crossref missing$
1060
    {
1061
      format.bvolume output
1062
      format.chapter.pages "chapter and pages" output.check
1063
  new.sentence
1064
      format.edition output
1065
      format.number.series output
1066
      format.publisher.address output
1067
    }
1068
    {
1069
      format.chapter.pages "chapter and pages" output.check
1070
  new.sentence
1071
      format.book.crossref output.nonnull
1072
    }
1073
  if$
1074
  format.book.pages %AS"pages" output.check
1075
  format.doi output
1076
  new.sentence
1077
  format.note output
1078
  fin.entry
1079
}
1080

    
1081
FUNCTION {incollection}
1082
{ output.bibitem
1083
  format.authors "author" output.check
1084
  add.fullstop
1085
  format.title "title" output.check
1086
  new.sentence
1087
  crossref missing$
1088
    { format.in.ed.booktitle "booktitle" output.check
1089
    add.fullstop
1090
      format.edition output
1091
      format.chapter.pages output
1092
      format.number.series output
1093
      format.publisher.address output
1094
    }
1095
    { format.incoll.inproc.crossref output.nonnull
1096
      format.chapter.pages output
1097
    }
1098
  if$
1099
  format.book.pages %AS"pages" output.check
1100
  format.doi output
1101
  new.sentence
1102
  format.note output
1103
  fin.entry
1104
}
1105
FUNCTION {inproceedings}
1106
{ output.bibitem
1107
  format.authors "author" output.check
1108
  add.fullstop
1109
  format.title "title" output.check
1110
  new.sentence
1111
  crossref missing$
1112
    { format.in.ed.booktitle "booktitle" output.check
1113
      format.number.series output
1114
      publisher empty$
1115
        { format.organization.address output }
1116
        { organization "organization" bibinfo.check output
1117
          format.publisher.address output
1118
        }
1119
      if$
1120
    }
1121
    { format.incoll.inproc.crossref output.nonnull
1122
    }
1123
  if$
1124
  format.book.pages %AS"pages" output.check
1125
  format.doi output
1126
  new.sentence
1127
  format.note output
1128
  fin.entry
1129
}
1130
FUNCTION {conference} { inproceedings }
1131
FUNCTION {manual}
1132
{ output.bibitem
1133
  author empty$
1134
    { organization "organization" bibinfo.check
1135
      duplicate$ empty$ 'pop$
1136
        { output
1137
          address "address" bibinfo.check output
1138
        }
1139
      if$
1140
    }
1141
    { format.authors output.nonnull }
1142
  if$
1143
  add.fullstop
1144
  format.btitle "title" output.check
1145
  new.sentence
1146
  author empty$
1147
    { organization empty$
1148
        {
1149
          address "address" bibinfo.check output
1150
        }
1151
        'skip$
1152
      if$
1153
    }
1154
    {
1155
      organization "organization" bibinfo.check output
1156
      address "address" bibinfo.check output
1157
    }
1158
  if$
1159
  format.edition output
1160
  format.date output
1161
  format.doi output
1162
  new.sentence
1163
  format.note output
1164
  fin.entry
1165
}
1166

    
1167
FUNCTION {mastersthesis}
1168
{ output.bibitem
1169
  format.authors "author" output.check
1170
  add.fullstop
1171
  format.title
1172
  "title" output.check
1173
  new.sentence
1174
  bbl.mthesis format.thesis.type output.nonnull
1175
  school "school" bibinfo.warn output
1176
  address "address" bibinfo.check output
1177
  format.date "year" output.check
1178
  format.doi output
1179
  new.sentence
1180
  format.note output
1181
  fin.entry
1182
}
1183

    
1184
FUNCTION {misc}
1185
{ output.bibitem
1186
  format.authors output
1187
  add.fullstop
1188
  format.title output
1189
  new.sentence
1190
  howpublished "howpublished" bibinfo.check output
1191
  format.date output
1192
  format.doi output
1193
  new.sentence
1194
  format.note output
1195
  fin.entry
1196
  empty.misc.check
1197
}
1198
FUNCTION {phdthesis}
1199
{ output.bibitem
1200
  format.authors "author" output.check
1201
  add.fullstop
1202
  format.title
1203
  "title" output.check
1204
  new.sentence
1205
  bbl.phdthesis format.thesis.type output.nonnull
1206
  school "school" bibinfo.warn output
1207
  address "address" bibinfo.check output
1208
  format.date "year" output.check
1209
  format.doi output
1210
  new.sentence
1211
  format.note output
1212
  fin.entry
1213
}
1214

    
1215
FUNCTION {proceedings}
1216
{ output.bibitem
1217
  editor empty$
1218
    { organization "organization" bibinfo.check output
1219
    }
1220
    { format.editors output.nonnull }
1221
  if$
1222
  add.fullstop
1223
  format.btitle "title" output.check
1224
  format.bvolume output
1225
  editor empty$
1226
    { publisher empty$
1227
        'skip$
1228
        {
1229
          format.number.series output
1230
          format.publisher.address output
1231
        }
1232
      if$
1233
    }
1234
    { publisher empty$
1235
        {
1236
          format.organization.address output }
1237
        {
1238
          organization "organization" bibinfo.check output
1239
          format.publisher.address output
1240
        }
1241
      if$
1242
     }
1243
  if$
1244
  format.doi output
1245
  new.sentence
1246
  format.note output
1247
  fin.entry
1248
}
1249

    
1250
FUNCTION {techreport}
1251
{ output.bibitem
1252
  format.authors "author" output.check
1253
  add.fullstop
1254
  format.title
1255
  "title" output.check
1256
  new.sentence
1257
  format.tr.number emphasize output.nonnull
1258
  institution "institution" bibinfo.warn output
1259
  address "address" bibinfo.check output
1260
  format.date "year" output.check
1261
  format.doi output
1262
  new.sentence
1263
  format.note output
1264
  fin.entry
1265
}
1266

    
1267
FUNCTION {unpublished}
1268
{ output.bibitem
1269
  format.authors "author" output.check
1270
  add.fullstop
1271
  format.title "title" output.check
1272
  format.date output
1273
  format.doi output
1274
  new.sentence
1275
  format.note "note" output.check
1276
  fin.entry
1277
}
1278

    
1279
FUNCTION {default.type} { misc }
1280
READ
1281
STRINGS { longest.label }
1282
INTEGERS { number.label longest.label.width }
1283
FUNCTION {initialize.longest.label}
1284
{ "" 'longest.label :=
1285
  #1 'number.label :=
1286
  #0 'longest.label.width :=
1287
}
1288
FUNCTION {longest.label.pass}
1289
{ number.label int.to.str$ 'label :=
1290
  number.label #1 + 'number.label :=
1291
  label width$ longest.label.width >
1292
    { label 'longest.label :=
1293
      label width$ 'longest.label.width :=
1294
    }
1295
    'skip$
1296
  if$
1297
}
1298
EXECUTE {initialize.longest.label}
1299
ITERATE {longest.label.pass}
1300
FUNCTION {begin.bib}
1301
{ preamble$ empty$
1302
    'skip$
1303
    { preamble$ write$ newline$ }
1304
  if$
1305
  "\begin{thebibliography}{"  longest.label  * "}" *
1306
  write$ newline$
1307
  "\providecommand{\url}[1]{\texttt{#1}}"
1308
  write$ newline$
1309
  "\providecommand{\urlprefix}{URL }"
1310
  write$ newline$
1311
  "\expandafter\ifx\csname urlstyle\endcsname\relax"
1312
  write$ newline$
1313
  "  \providecommand{\doi}[1]{doi:\discretionary{}{}{}#1}\else"
1314
  write$ newline$
1315
  "  \providecommand{\doi}{doi:\discretionary{}{}{}\begingroup \urlstyle{rm}\Url}\fi"
1316
  write$ newline$
1317
}
1318
EXECUTE {begin.bib}
1319
EXECUTE {init.state.consts}
1320
ITERATE {call.type$}
1321
FUNCTION {end.bib}
1322
{ newline$
1323
  "\end{thebibliography}" write$ newline$
1324
}
1325
EXECUTE {end.bib}
1326
%% End of customized bst file
1327
%%
1328
%% End of file `wileyj.bst'.